创建数组并在for循环中使用

时间:2013-09-26 09:46:20

标签: velocity

我想知道是否可以使用类似于:

的数组
#set ( $foo1 = [ 
  $title, 'some title', 
  $text, 'some text'
]

#set ( $foo2 = [ 
  $title, 'different title', 
  $text, 'different text'
]

目的是循环遍历这样的代码

#foreach($i in [1..2])

<div id="$i">
  <h1>$foo$i.title<h1>
  <p>$foo$i.text</p>
</div>

#end

我似乎有两个问题,我无法找到解决方案。我已经能够设置一个数组,但我只使用数字索引而不是变量名成功。

我的第二个问题可能与Velocity仅解析一次有关。甚至是一个简单的例子:

#set ( $foo1 = "bar" )
#set ( $foo2 = "bar2" )

#foreach($i in [1..2])
  $foo$i ---
#end

只会解析为$ foo1 --- $ foo2

是否有可能实现我希望实现的目标,以及我如何能够调整我的代码。如果我只需要在我的数组中使用数字索引就可以,那么我想更紧迫的问题是如何通过每个循环动态更改变量。

1 个答案:

答案 0 :(得分:0)

在找到一些具有Velocity知识的人之后,我能够解决这个问题。

#set ( $foo1 = { 
  "title": "some title", 
  "text": "some text"
]

#set ( $foo2 = [ 
  "title" "different title", 
  "text", "different text"
]

#set ( $foos = [$foo1, $foo2] )

#foreach($foo in $foos)

<div id="$velocityCount">
  <h1>$title<h1>
  <p>$text</p>
</div>

#end