我已在一周前在How to use 'for' loop in velocity template?上发布了类似的问题。
所以...基本上我不能在速度模板中使用'for'循环。
假设我有一个包含整数4的变量。我想使用该变量显示四次。我如何在速度模板中执行此操作?
答案 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。