Loops 如何在VM中访问循环中的下一个元素
我需要访问Loops 如何在VM中访问循环中的下一个元素,loops,for-loop,foreach,velocity,Loops,For Loop,Foreach,Velocity,我需要访问foreach中的下一个元素来比较一些值 在JSP中,我添加了一些虚拟元素,并像这样循环 for(int i=0; i<list.size() - 1; i++) { MyClass element = list.get(i); MyClass nextElement = list.get(i+1); if(element.getSomeValue() > nextElement.getSomeValue()) doSome();
foreach
中的下一个元素来比较一些值
在JSP中,我添加了一些虚拟元素,并像这样循环
for(int i=0; i<list.size() - 1; i++) {
MyClass element = list.get(i);
MyClass nextElement = list.get(i+1);
if(element.getSomeValue() > nextElement.getSomeValue())
doSome();
...
for(int i=0;i nextElement.getSomeValue())
doSome();
...
但在VM中,据我所知,无法通过索引获取元素。
如果有什么方法可以访问下一个元素,请帮助我。您的Velocity模板(即.vm文件)可以访问放置在中的任何Java对象。在支持Java类或Velocity servlet中,将列表放入上下文:
context.put("list", myList);
然后,在Velocity模板中,您可以将其引用为$list
,并可以使用$list.get(i)
,等等对其调用方法。请注意,与JSP不同,您不能将纯Java代码放在Velocity模板中,您必须使用。我理解$list.get(i)
和$list.get(i+1)
。但是,for(int i=0;iVelocity没有for循环的“本机”概念,但是您可以用#foreach
装配等价物。请看一看。