Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 如何在VM中访问循环中的下一个元素_Loops_For Loop_Foreach_Velocity - Fatal编程技术网

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
装配等价物。请看一看。