速度模板中的“for”循环

时间:2011-04-20 18:44:54

标签: loops for-loop velocity

我已在一周前在How to use 'for' loop in velocity template?上发布了类似的问题。

所以...基本上我不能在速度模板中使用'for'循环。

假设我有一个包含整数4的变量。我想使用该变量显示四次。我如何在速度模板中执行此操作?

3 个答案:

答案 0 :(得分:53)

尝试这样做:

#set($start = 0)
#set($end = 4)
#set($range = [$start..$end])
#foreach($i in $range)
   doSomething
#end

代码尚未经过测试,但它应该像这样工作。

答案 1 :(得分:33)

您不必像接受的答案那样使用#set。你可以使用这样的东西:

#foreach($i in [1..$end])
    LOOP ITERATION: $i
#end

如果您想要归零,则必须使用一个#set,因为您无法在范围运算符中减去一个:

#set($stop = $end - 1)
#foreach($i in [0..$stop])
    LOOP ITERATION: $i
#end

答案 2 :(得分:4)

只是为Stephen Ostermiller的答案添加另一个选项,您还可以使用$foreach.index创建零索引循环。如果您想循环$n次:

#foreach($unused in [1..$n])
    zero indexed: $foreach.index
#end

此处,$unused未使用,我们使用$foreach.index作为索引,从0开始。

我们将范围从1开始包含在内,因此它将循环$unused为[1,2,3,4,5],而$foreach.index为[0 ,1,2,3,4]。

有关详情,请参阅the user guide