奇数循环

Loop with odd sequence

如何在 Apache FreeMarker 模板中编写奇数循环?

例如:

<#list seq as n>
    ...?
   ${n_index}
</#list>

结果:1,3,4,5..

使用 Modulus 运算符。

<#list seq as n>
   <#if n % 2 == 1>
       <#-- your code here -->
   </#if>

</#list>

假设您实际上想要打印序列的第 1、3、5 等项,而不是通过列表项 (n) 本身的奇偶性进行过滤... 如果结果是 1、2 等,那么要么您实际上想要偶数项,要么您想要基于 1 的 n?counter,而不是基于 0 的 n?index。假设最后一个(加上我也打印项目本身):

<#list seq as n>
   <#if n?is_odd_item>
      ${n?counter}: ${n}
   </#if>
</#list>

手册中的相关页面:http://freemarker.org/docs/ref_builtins_loop_var.html