我正在使用Struts2处理JSP,我必须迭代两个列表,并更改每个<tr/>
打印的背景代码。
我的JSP代码段
<s:set var="counter" value="0" scope="page" />
<s:iterator value="listaContoCapitale" status="i">
<s:iterator value="utilizzi" status="j">
<s:if test="#counter == 0 || #counter % 2 == 0">
<s:set var="trclass" value="'rigaSfondo1'" scope="page" />
</s:if>
<s:else>
<s:set var="trclass" value="''" scope="page" />
</s:else>
<tr class="${trclass}">
....tds
</tr>
</s:iterator>
<s:set var="counter" value="here i have to change its value (increment it by1)" />
</s:iterator>
我需要在内循环的每一步增加我的计数器。有没有办法通过简单的struts标签增加我的计数器值?我知道我可以使用Java scriptlet,但我宁愿保持JSP清晰。
答案 0 :(得分:15)
您不需要在迭代器中使用#i.index
或#i.count
来创建引用变量。它已经被迭代器标记本身增加了。
请注意,“count”是从1开始的,“index”是从0开始的。
始终查看docs。
如果您仍需要自己的计数器
<s:set var="counter" value="0"/>
增量
<s:set var="counter" value="%{#counter+1}"/>
答案 1 :(得分:0)
您可以使用这种简单的方法来实现struts2增量
<s:set var="count" value="1"/>
<s:iterator value="yourlisthere">
<div><s:property value="#count" /><s:property/></div>
<s:set var="counter" value="%{#count+1}"/>
<s:set var="count" value="%{#counter}"/>
</s:iterator>
jsp struts2