我傳入一個帶有String映射到一個ArrayList的HashMap。 該映射包含兩個條目,它們是ArrayLists長度相同,我希望它們水平對齊,所以我認爲foreach-range循環比單獨使用foreach循環更好。使用速度模板通過索引訪問ArrayList
我:
#foreach($i in [1..$entry1.size()])
<li>
<h3>$entry1.get($i-1)</h3>
<video width="320" height="240" controls>
<source src="$entry2.get($i-1)" type="video/mp4">
</video>
</li>
#end
速度只是打印而不是$ entry1.get($ I-1)和花費$ entry2.get($ I-1)從字面上$ entry1.size()倍,注入相應ArrayList索引的值。
的速度Documentation說:
注意:對於該ArrayList例如與[..]運營商所定義的元素是使用ArrayList類定義的方法訪問。因此,例如,您可以使用$ monkey.Say.get(0)訪問上面的第一個元素。
而且例子是:
#set($monkey.Say = ["Not", $my, "fault"]) ## ArrayList
我是否正確訪問ArrayList的?
我認爲你需要把空間之前和破折號之後,減法工作。另見[this](http://stackoverflow.com/questions/15448108/subtraction-is-not-working-with-velocity-template)。 – gerry