首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Freemarker For循环

Freemarker For循环
EN

Stack Overflow用户
提问于 2013-07-18 20:35:40
回答 1查看 10.6K关注 0票数 4

他们有没有办法根据他们的而不是一个接一个地遍历列表项?我想按1,3,5,7,9和2,4,6,8的顺序遍历字段列表。我试着这样使用

代码语言:javascript
复制
<#list section.field as field>
 <div class="col1">
 ${field.@label}:<input type="text"/></div>
 <#if field_has_next>
 <div class="col2">
   ${field[field_index+1].@label}:<input type="text"/>
 </div>
 </#if>
</#list>

但它给了我错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-19 14:27:55

这就是?chunk的用途(http://freemarker.org/docs/ref_builtins_sequence.html#ref_builtin_chunk):

代码语言:javascript
复制
<#list section.field?chunk(2) as row>
  <#list row as field>
    <div class="col${field_index + 1}">
      ${field.@label}: <input type="text"/>
    </div>
  </#list>
</#list>

否则,我不知道你的解决方案会出现什么错误,但肯定有一个bug,它会将除最后一个字段之外的所有字段显示两次。您可以自由地使用索引,例如

代码语言:javascript
复制
<#assign fields = section.field>
<#assign idx = 0>
<#list 0..999999 as _>
   <#if idx == fields?size><#break></#if>
   ... even column ...
   <#assign idx = idx + 1>

   <#if idx == fields?size><#break></#if>
   ... odd column ...
   <#assign idx = idx + 1>
</#list>
...

但正如您所看到的,它并不真正适合FreeMarker (它非常冗长)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17723612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档