velocity: do something except in last loop iteration

后端 未结 4 1940
南方客
南方客 2021-01-03 19:41

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

相关标签:
4条回答
  • 2021-01-03 19:59

    @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.

    0 讨论(0)
  • 2021-01-03 20:03

    This worked for me in an older version of Velocity

    #if($velocityCount < $list.size()), #end
    
    0 讨论(0)
  • 2021-01-03 20:05

    You can use a test if you are in last iteration::

    #foreach( $item in $list )
        $item.text #if( $foreach.hasNext ), #end
    #end
    
    0 讨论(0)
  • 2021-01-03 20:15

    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
    
    0 讨论(0)
提交回复
热议问题