在速度模板中同时迭代两个列表

iterate two list simultaeneously in velocity template

我在 velocity 模板中有两个数组列表。我需要像 java

一样同时迭代两者
for(int i=0; i< fooList.size(), barList.size; i++ ){
  System.ou.println(fooList.get(i))
 }

我尝试了下面的代码,但它不起作用。

#foreach($foo in $fooList,$bar in barList)

Velocity 中没有这样的选项可以帮助我们同时迭代多个集合。

此外,唯一可用的循环是 #foreach 循环,它只能迭代 Iteratable 的一个实例,所以我们也不能使用 Iterators

但您仍然可以这样做:

#foreach($list1Item in $list1)

    #set ( $count = ($velocityCount - 1) )

    #if ( $count != $list2.size() )
        #set ( $list2Item = $list2.get($count) )
    #else 
        #break
    #end

    $list1Item | $list2Item

#end

这将同时迭代两个列表,迭代次数等于较小列表的大小。