In velocity, I want to do something different in the last loop.
What is the correct idiom?
RELATED: Last iteration of enhanced for loop in java
In velocity, I want to do something different in the last loop.
What is the correct idiom?
RELATED: Last iteration of enhanced for loop in java
You can use a test if you are in last iteration::
#foreach( $item in $list )
$item.text #if( $foreach.hasNext ), #end
#end
@soulcheck's answer is what you need, but be aware that the $foreach
variable is only available in velocity 1.7, if you're using an earlier version you can use:
#foreach( $item in $list )
$item.text #if( $velocityHasNext ), #end
#end
However, the $velocityHasNext
variable is deprecated in versions 1.7 and removed in 2.0 in favour of $foreach.hasNext
.
The idiom I use is to save the optional text to be added if the loop doesn't finish.
#set($sep = "")
#foreach($item in $list)
$sep$item
#set($sep = ", ")
#end
This worked for me in an older version of Velocity
#if($velocityCount < $list.size()), #end