Please make sure you have read the Tag Syntax document and understand how tag attribute syntax works.
|
The id attribute is deprecated in Struts 2.1.x, and has been replaced by the var attribute.
|
The begin, end and step attributes are only available from 2.1.7 on
Description
{% comment %}start snippet id=javadoc|javadoc=true|url=org.apache.struts2.components.IteratorComponent {% endcomment %}
Parameters
{% comment %}start snippet id=tagattributes|javadoc=false|url=struts2-tags/iterator.html {% endcomment %}
<tr> <td colspan="6"><h4>Dynamic Attributes Allowed:</h4> false</td> </tr> <tr> <td colspan="6"> </td> </tr> <tr> <th align="left" valign="top"><h4>Name</h4></th> <th align="left" valign="top"><h4>Required</h4></th> <th align="left" valign="top"><h4>Default</h4></th> <th align="left" valign="top"><h4>Evaluated</h4></th> <th align="left" valign="top"><h4>Type</h4></th> <th align="left" valign="top"><h4>Description</h4></th> </tr> <tr> <td align="left" valign="top">begin</td> <td align="left" valign="top">false</td> <td align="left" valign="top">0</td> <td align="left" valign="top">false</td> <td align="left" valign="top">Integer</td> <td align="left" valign="top">if specified the iteration will start on that index</td> </tr> <tr> <td align="left" valign="top">end</td> <td align="left" valign="top">false</td> <td align="left" valign="top">Size of the 'values' List or array, or 0 if 'step' is negative</td> <td align="left" valign="top">false</td> <td align="left" valign="top">Integer</td> <td align="left" valign="top">if specified the iteration will end on that index(inclusive)</td> </tr> <tr> <td align="left" valign="top">status</td> <td align="left" valign="top">false</td> <td align="left" valign="top">false</td> <td align="left" valign="top">false</td> <td align="left" valign="top">Boolean</td> <td align="left" valign="top">If specified, an instanceof IteratorStatus will be pushed into stack upon each iteration</td> </tr> <tr> <td align="left" valign="top">step</td> <td align="left" valign="top">false</td> <td align="left" valign="top">1</td> <td align="left" valign="top">false</td> <td align="left" valign="top">Integer</td> <td align="left" valign="top">if specified the iteration index will be increased by this value on each iteration. It can be a negative value, in which case 'begin' must be greater than 'end'</td> </tr> <tr> <td align="left" valign="top">value</td> <td align="left" valign="top">false</td> <td align="left" valign="top"></td> <td align="left" valign="top">false</td> <td align="left" valign="top">String</td> <td align="left" valign="top">the iteratable source to iterate over, else an the object itself will be put into a newly created List</td> </tr> <tr> <td align="left" valign="top">var</td> <td align="left" valign="top">false</td> <td align="left" valign="top"></td> <td align="left" valign="top">false</td> <td align="left" valign="top">String</td> <td align="left" valign="top">Name used to reference the value pushed into the Value Stack</td> </tr> </table>
Examples
{% comment %}start snippet id=example1description|javadoc=true|url=org.apache.struts2.components.IteratorComponent {% endcomment %}
{% comment %}start snippet id=example1code|lang=xml|javadoc=true|url=org.apache.struts2.components.IteratorComponent {% endcomment %}
<s:iterator value="days"> <p>day is: <s:property/></p> </s:iterator>
{% comment %}end snippet id=example1code|lang=xml|javadoc=true|url=org.apache.struts2.components.IteratorComponent {% endcomment %}
{% comment %}start snippet id=example2description|javadoc=true|url=org.apache.struts2.components.IteratorComponent {% endcomment %}
{% comment %}start snippet id=example2code|lang=xml|javadoc=true|url=org.apache.struts2.components.IteratorComponent {% endcomment %}
<s:bean name="org.apache.struts2.example.IteratorExample" var="it"> <s:param name="day" value="'foo'"/> <s:param name="day" value="'bar'"/> </s:bean> <table border="0" cellspacing="0" cellpadding="1"> <tr> <th>Days of the week</th> </tr> <s:iterator value="#it.days" status="rowstatus"> <tr> <s:if test="#rowstatus.odd == true"> <td style="background: grey"><s:property/></td> </s:if> <s:else> <td><s:property/></td> </s:else> </tr> </s:iterator> </table>
{% comment %}end snippet id=example2code|lang=xml|javadoc=true|url=org.apache.struts2.components.IteratorComponent {% endcomment %}
{% comment %}start snippet id=example3description|javadoc=true|url=org.apache.struts2.components.IteratorComponent {% endcomment %}
{% comment %}start snippet id=example3code|lang=xml|javadoc=true|url=org.apache.struts2.components.IteratorComponent {% endcomment %}
<s:iterator value="groupDao.groups" status="groupStatus"> <tr class="<s:if test="#groupStatus.odd == true ">odd</s:if><s:else>even</s:else>"> <td><s:property value="name" /></td> <td><s:property value="description" /></td> <td> <s:iterator value="users" status="userStatus"> <s:property value="fullName" /><s:if test="!#userStatus.last">,</s:if> </s:iterator> </td> </tr> </s:iterator>
{% comment %}end snippet id=example3code|lang=xml|javadoc=true|url=org.apache.struts2.components.IteratorComponent {% endcomment %}
{% comment %}start snippet id=example4description|javadoc=true|url=org.apache.struts2.components.IteratorComponent {% endcomment %}
{% comment %}start snippet id=example4code|lang=xml|javadoc=true|url=org.apache.struts2.components.IteratorComponent {% endcomment %}
<s:action name="entries" var="entries"/> <s:iterator value="#entries.entries" > <s:property value="name" /> <s:property /> <s:push value="..."> <s:action name="edit" var="edit" > <s:param name="entry" value="[0]" /> </s:action> </push> </s:iterator>
{% comment %}end snippet id=example4code|lang=xml|javadoc=true|url=org.apache.struts2.components.IteratorComponent {% endcomment %}
{% comment %}start snippet id=example5description|javadoc=true|url=org.apache.struts2.components.IteratorComponent {% endcomment %}
{% comment %}start snippet id=example5code|lang=xml|javadoc=true|url=org.apache.struts2.components.IteratorComponent {% endcomment %}
<s:iterator var="counter" begin="1" end="5" > <!-- current iteration value (1, ... 5) --> <s:property value="top" /> </s:iterator>
{% comment %}end snippet id=example5code|lang=xml|javadoc=true|url=org.apache.struts2.components.IteratorComponent {% endcomment %}
{% comment %}start snippet id=example6description|javadoc=true|url=org.apache.struts2.components.IteratorComponent {% endcomment %}
{% comment %}start snippet id=example6code|lang=xml|javadoc=true|url=org.apache.struts2.components.IteratorComponent {% endcomment %}
<s:iterator status="stat" value="(5).{ #this }" > <s:property value="#stat.count" /> <!-- Note that "count" is 1-based, "index" is 0-based. --> </s:iterator>
{% comment %}end snippet id=example6code|lang=xml|javadoc=true|url=org.apache.struts2.components.IteratorComponent {% endcomment %}
{% comment %}start snippet id=example7description|javadoc=true|url=org.apache.struts2.components.IteratorComponent {% endcomment %}
{% comment %}start snippet id=example7code|lang=xml|javadoc=true|url=org.apache.struts2.components.IteratorComponent {% endcomment %}
<s:iterator value="{1,2,3,4,5}" begin="2" end="4" > <!-- current iteration value (2,3,4) --> <s:property value="top" /> </s:iterator>
{% comment %}end snippet id=example7code|lang=xml|javadoc=true|url=org.apache.struts2.components.IteratorComponent {% endcomment %}