我正在将字符串映射到arraylist的哈希姆普传递。该地图包含两个条目,它们是相同长度的阵列列表,我希望它们水平对齐,因此我认为一个foreach范围环路比单独的条目上的foreach循环更好。
我有:
#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.get2.get2.get($ i-1(实际上是$ entry1.size((时间,而不是从相应的arraylist索引中注入值。
速度文档说:
注意:对于ArrayList示例,使用[..]运算符定义的元素使用ArrayList类中定义的方法可访问。因此,例如,您可以使用$ monkey.get(0(。
访问上面的第一个元素。
示例是:
#set( $monkey.Say = ["Not", $my, "fault"] ) ## ArrayList
我是否正确访问了ArrayList?
我注意到速度没有评估 get()
方法中的 CC_1方法。
尝试这样的事情:
#foreach($i in [1..$entry1.size()])
#set($index = $i - 1)
<li>
<h3>$entry1.get($index)</h3>
<video width="320" height="240" controls>
<source src="$entry2.get($index)" type="video/mp4">
</video>
</li>
#end
所以,我仍然不确定上面的代码有什么问题...这是我的工作:
#foreach( $title in $entry1 )
<li>
<h3>$title</h3>
<video width="320" height="240" controls>
<source src="$entry2.get($foreach.index)" type="video/mp4">
</video>
</li>
#end
希望它可以帮助任何可能在将来遇到类似问题的人。仍然想知道我的初始代码出了什么问题!