Velocity语句将类添加到最后一个菜单项?

Con*_*ndo 4 java velocity

我有一个简单菜单的速度代码:

<div id="header" class="navstrip">

  #foreach( $navItem in $navItems )
     <a href="$navItem.URL">$navItem.Title</a> |
  #end

</div>
Run Code Online (Sandbox Code Playgroud)

我想给最后一个菜单链接一个"最后"的类.有条件的是什么?

ser*_*erg 9

由于某种原因,检测最后一项是Velocity中最多的错误点,我创建了3个关于它的错误报告,即使它说它们已经解决了 - 但它仍然不能完全符合我的知识.

如果您使用的是Velocity 1.6及更低版本,则有以下选项:

1)使用循环工具

#foreach( $navItem in $loop.watch($navItems) )
    #if($loop.last) 
        last 
    #end
#end
Run Code Online (Sandbox Code Playgroud)

但是这不起作用(参见bug#1)

2)使用内部计数器$velocityCount:

#foreach( $navItem in $navItems)
    #if($velocityCount == $navItems.size()) 
        last 
    #end
#end
Run Code Online (Sandbox Code Playgroud)

这有效.

速度1.7:

1)你应该可以使用$foreach.last:

#foreach( $navItem in $navItems)
    #if($foreach.last) 
        last 
    #end
#end
Run Code Online (Sandbox Code Playgroud)

但这不再起作用(参见bug#2bug#3)

2)将当前计数器与列表大小进行比较:

#foreach( $navItem in $navItems)
    #if($foreach.count == $navItems.size()) 
        last 
    #end
#end
Run Code Online (Sandbox Code Playgroud)

这有效.

是的,这么简单的任务和许多麻烦.