0

我需要访问下一个元素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();
        ...

但据我所知,在 VM 中,我无法通过索引获取元素。如果有某种方法可以访问下一个元素,请帮助我。

4

1 回答 1

2

您的 Velocity 模板(.vm 文件)可以访问放置在Context中的任何 Java 对象。在您的支持 Java 类或 Velocity servlet 中,将您的列表放入上下文中:

context.put("list", myList);

然后在您的 Velocity 模板中,您可以引用它,$list并且可以通过 using$list.get(i)等调用方法。请注意,与 JSP 不同,您不能将纯 Java 代码放入 Velocity 模板中,您必须使用VTL

于 2013-01-23T13:30:59.097 回答