在速度模板

时间:2016-10-28 12:13:52

标签: java arraylist velocity

我在速度模板中有两个arraylist。我需要像java一样同时迭代它们

for(int i=0; i< fooList.size(), barList.size; i++ ){
  System.ou.println(fooList.get(i))
 }

我尝试了以下代码,但它无效。

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

1 个答案:

答案 0 :(得分:2)

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

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