这应该很简单,但我找不到合适的变量。
我在struts2中定制了一个Freemarker模板(简单 - > radioMap)
模板的结构基本上是:
<@s.iterator value="parameters.list">
//Display each item in the list
</@s.iterator>
我正在尝试做的是显示迭代中每个项目的编号。 我需要获取每个迭代项的索引,以便我可以打印
0 - Item A
1 - Item B
....
我怎样才能获得这样的索引? 谢谢!
答案 0 :(得分:0)
由于@s.iterator
不是标准的FreeMarker指令,我不知道它是否将当前索引放入某个变量(标准指令#list
),但显然他们使用自己的迭代器由于某些原因)。但是,你可以算一下自己,比如:
<#local idx = 0>
<@.iterator ...>
<#local idx = idx + 1>
...
</@.iterator>
请注意,#local
的用法假设此“radioMap”事物是一个宏。如果不是,则必须使用<#assign ...>
,然后我希望在自己的FreeMarker名称空间中调用此代码(即,#import
- ed,而不是#include
- d或者在它自己的FreeMarker Environment
中,否则你可能会发生名称冲突。
答案 1 :(得分:0)
S2迭代器标记使用status
属性来命名循环状态变量。
属性标记可用于检索循环状态变量。
http://struts.apache.org/2.x/docs/iterator.html
要使用本机FM循环,您可以使用stack.findValue()
方法。