I'm working on JSPs with Struts2, I have to iterate on two lists, and change the background code of each <tr/>
printed.
My JSP snippet:
<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>
I need to increment my counter every step on the inner loop. Is there a way to increment my counter value by a simple struts tag? I know I could use Java scriptlet but I rather keep the JSP clear if possible.
You aren't required to create a reference variable just use #i.index
or #i.count
inside the iterator. It's already incremented by the iterator tag itself.
Note that "count" is 1-based, "index" is 0-based.
Always check the docs.
If you still need your own counter
<s:set var="counter" value="0"/>
increment
<s:set var="counter" value="%{#counter+1}"/>
You Can Use this easy Way to Do this struts2 increment
<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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With