我在速度模板中有两个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)
答案 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
这将同时迭代两个列表,迭代次数等于较小列表的大小。