转载

freemarker遍历list处理第一个、最后一个元素

_index获取下标

如果需要显示当前循环到第几项,可以这样写
<#list ["hello","world"] as word>
 <span>${word_index+1},${hi}</span></br>
< /#list>
as 后面的那个变量,加上_index,就可以表示当前循环到第几项 结果是:
1,hello
2,world
对第一个元素进行处理,判断是否第一个元素,就可以_index = 0
#if word_index = 0>...</#if>

_has_next判断是否最后一项

有时候,最后一项在显示的时候可能要做特殊处理,例如不加逗号
<#list ["hello","world"] as word>
 <span>${word}</span><#if word_has_next>,</#if></#list>
输出结果为hello,world 另外,在我的开源SpringBootCodeGenerator项目中一段代码实战,也是类似道理。
@ApiOperation(value = "${classInfo.classComment}", notes = "${classInfo.classComment}")
 @ApiImplicitParams({
 <#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0>
 <#list classInfo.fieldList as fieldItem >
 @ApiImplicitParam(name = "${fieldItem.fieldName}", value = "${fieldItem.fieldComment}", required = false, dataType = "${fieldItem.fieldClass}")<#if fieldItem_has_next>,</#if>
 </#list>
 </#if>
 }
 )

break退出循环

如果想在循环中判断到某一项时退出,可以这样做
<#list users as user>
 <span>${user.name}</span>
 <#if user.name == "admin"><#break></#break>
< /#list>
原文链接:https://blog.csdn.net/moshowgame/article/details/82744463
正文到此结束
Loading...