速率:在最后一次循环迭代之外执行某些操作

30

@ratchet:与相关问题相同:我正在使用分隔符连接事物,但不想在最后一个项目之后放置分隔符。 - flybywire
4个回答

74

如果你在最后一次迭代中,可以使用一个测试语句:

#foreach( $item in $list )
    $item.text #if( $foreach.hasNext ), #end
#end

19

@soulcheck的回答是你需要的,但要注意$foreach变量仅在Velocity 1.7中可用。如果你使用的是早期版本,可以使用以下内容:

#foreach( $item in $list )
    $item.text #if( $velocityHasNext ), #end
#end

然而,在1.7版本中,$velocityHasNext变量已被弃用,并在2.0版中被移除,取而代之的是$foreach.hasNext


目前为止,Velocity 没有 2.0 版本。 - holmis83

8
我使用的成语是,将可选文本保存起来,以便在循环不完成时添加。
#set($sep = "")    
#foreach($item in $list)
 $sep$item
 #set($sep = ", ")
#end

我该如何解决这个问题 https://stackoverflow.com/questions/62713626/velocity-template-loop-through-array-to-create-string? - hyprstack

2

这在较旧版本的Velocity中对我有效

#if($velocityCount < $list.size()), #end

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接