Ответ 1
Вы можете использовать тест, если вы находитесь в последней итерации::
#foreach( $item in $list )
$item.text #if( $foreach.hasNext ), #end
#end
В скорости, я хочу сделать что-то другое в последнем цикле.
Какая правильная идиома?
RELATED: Последняя итерация расширенного цикла в java
Вы можете использовать тест, если вы находитесь в последней итерации::
#foreach( $item in $list )
$item.text #if( $foreach.hasNext ), #end
#end
@soulcheck answer - это то, что вам нужно, но имейте в виду, что переменная $foreach
доступна только в версии 1.7, если вы используете более раннюю версию, которую вы можете использовать:
#foreach( $item in $list )
$item.text #if( $velocityHasNext ), #end
#end
Однако переменная $velocityHasNext
устарела в версиях 1.7 и удалена в 2.0 в пользу $foreach.hasNext
.
Идиома, которую я использую, заключается в том, чтобы сохранить дополнительный текст, который будет добавлен, если цикл не завершится.
#set($sep = "")
#foreach($item in $list)
$sep$item
#set($sep = ", ")
#end
Это работало для меня в более старой версии Velocity
#if($velocityCount < $list.size()), #end