他们有没有办法根据他们的而不是一个接一个地遍历列表项?我想按1,3,5,7,9和2,4,6,8的顺序遍历字段列表。我试着这样使用
<#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>但它给了我错误。
发布于 2013-07-19 14:27:55
这就是?chunk的用途(http://freemarker.org/docs/ref_builtins_sequence.html#ref_builtin_chunk):
<#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,它会将除最后一个字段之外的所有字段显示两次。您可以自由地使用索引,例如
<#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 (它非常冗长)。
https://stackoverflow.com/questions/17723612
复制相似问题