yan*_*isf 17 java velocity template-engine
我正在使用速度1.7并在foreach循环中我想打印计数.在模板中,我在#foreach/#end部分中有以下字符串:
Count: $foreach.count
Run Code Online (Sandbox Code Playgroud)
并期望在渲染结果中看到类似的东西
Count: 1
...
Count: 2
...
Run Code Online (Sandbox Code Playgroud)
但我所看到的只是:
Count: $foreach.count
...
Count: $foreach.count
...
Run Code Online (Sandbox Code Playgroud)
有什么想法我做错了什么?
k.h*_*ali 10
您的代码是部分的,我们没有看到foreach指令.
另外,我知道foreach循环有一个内置变量$counter
,尽管在他们指的引导中$foreach.count
小智 10
我试过用$counter
&$foreach.count
但这些都不适合我.
但是,$velocityCount
标签工作及以下是示例.
输入代码:
#foreach($entry in $entries)
<p>In for Loop count is : $velocityCount</p>
#end
Run Code Online (Sandbox Code Playgroud)
输出:
In for Loop count is : 1
In for Loop count is : 2
In for Loop count is : 3
Run Code Online (Sandbox Code Playgroud)
我不知道为什么称为$ count的foreach循环内置变量不能作为指南引用.但$ velocityCount对我有用.
在velocity.properties文件中有一个名为directive.foreach.counter.name的属性是velocityCount,因此默认的$ count变量可能无效.
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
Run Code Online (Sandbox Code Playgroud)