记录:s:iterator的一些使用(status,begin和end)



记录:s:iterator的一些使用(status,begin和end)

mark一段代码

[html] view plaincopy
<s:iterator id=”user” value=”#group.teammates” status=”st”>
<tr>
<s:if test=”#st.index % 4 == 0″>
<td><s:property value=”#st.index”/></td>
</s:if>
</tr>
</s:iterator>

<s:iterator id=”group” value=”groups”>
<div class=”lineOut”>
<div class=”lineIn odd”>
<table>
<tr>
<td width=”20px”><img src=”css/images/group.png” border=”0″ /></td>
<td colspan=”4″>
<a href=”javascript:void(0)”><s:property value=”#group.name” /></a>
[共<s:property value="#group.memberNumber" />人]
</td>
</tr>
<s:iterator id=”user” value=”#group.teammates” status=”st”>
<s:if test=”0 == #st.index % 4″>
<tr>
<td></td>
<td>
<s:property value=”#user.name”/>[<a href="javascript:void(0)"><s:property value="#user.email" /></a>]
</td>
</s:if>
<s:elseif test=”3 == #st.index % 4″>
<td>
<s:property value=”#user.name”/>[<a href="javascript:void(0)"><s:property value="#user.email" /></a>]
</td>
</tr>
</s:elseif>
<s:else>
<td>
<s:property value=”#user.name”/>[<a href="javascript:void(0)"><s:property value="#user.email" /></a>]
</td>
</s:else>
<s:if test=”#st.last”>
<s:iterator begin=”0″ end=”2 – (#st.index % 4)”>
<td></td>
</s:iterator>
</s:if>
</s:iterator>
</table>
</div><!– lineIn odd –>
</div><!– lineOut –>
</s:iterator>

 

[html] view plaincopy
<s:if test=”#st.index % 4 == 0″>
使用.index去取s:iterator中status的当前迭代位置,迭代从0开始。下同理

[html] view plaincopy
<s:property value=”#st.index”/>
[html] view plaincopy
<s:iterator begin=”0″ end=”2 – (#st.index % 4)”>
使用begin和end,去设置迭代次数。
使用这两个属性,可以自配置固定次数的迭代。