我正在使用速度1.7,并在一个foreach循环内我想打印计数。在模板中我有一个#的foreach /#结束部分以下字符串:
Count: $foreach.count
,并期待在呈现的结果看到的东西像
Count: 1
...
Count: 2
...
,但我看到的是:
Count: $foreach.count
...
Count: $foreach.count
...
任何想法我做错了什么?
我正在使用速度1.7,并在一个foreach循环内我想打印计数。在模板中我有一个#的foreach /#结束部分以下字符串:
Count: $foreach.count
,并期待在呈现的结果看到的东西像
Count: 1
...
Count: 2
...
,但我看到的是:
Count: $foreach.count
...
Count: $foreach.count
...
任何想法我做错了什么?
你的代码是部分的,我们没有看到foreach指令。
否则,我知道foreach循环有一个内置变量称为$counter
,虽然在引导他们参考$foreach.count
无论$foreach.count
也不$counter
为我工作。
This answer建议使用$velocityCount
,它适用于我。
尝试速度1.7! – yannisf
这也适用于我。我们使用velocity 1.5,由于使用第三方框架,我们不能移动到1.7 –
我不知道为什么名为$ count的foreach循环内置变量不能作为引导参考。但$ velocityCount为我工作。
有一个名为directive.foreach.counter.name的属性是velocity.properties文件中的velocityCount,所以默认$ count变量可能不工作。
$velocityCount
是我的作品和我使用速度1.5 $foreach.count
& $counter
k.honsalis答案已被弃用。
此时您只能使用$ velocityCount,即使文档将引用已弃用的方法。
#foreach($item in $items)
counter 0: $foreach.index
counter 1: $foreach.count
counter 2: $counter
counter 3: $velocityCount
#end
Output:
$foreach.index
$foreach.count
$counter
1
我试着用$counter
& $foreach.count
但是这些都为我工作。
但是,$velocityCount
标签起作用,下面是示例。
输入代码:
#foreach($entry in $entries)
<p>In for Loop count is : $velocityCount</p>
#end
输出:
In for Loop count is : 1
In for Loop count is : 2
In for Loop count is : 3
在速度<1.7有配置使用“directive.foreach.counter计数器变量的名称的方法。 name = velocityCount“在初始化引擎的属性中(这是来自默认版本)。看起来他们已经删除了做这种改变的能力,并且已经命名为$ {foreach.counter}。 –
是真的,感谢$ {syntax.precising} :) –
我习惯于使用正式表示法......稍微详细些,但大部分暴露清晰度。 –