使用速度模板通过索引访问ArrayList



我正在将字符串映射到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

希望它可以帮助任何可能在将来遇到类似问题的人。仍然想知道我的初始代码出了什么问题!

最新更新