mark一段代码
<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>
<s:if test="#st.index % 4 == 0">
使用.index去取s:iterator中status的当前迭代位置,迭代从0开始。下同理
<s:property value="#st.index"/>
<s:iterator begin="0" end="2 - (#st.index % 4)">
使用begin和end,去设置迭代次数。
使用这两个属性,可以自配置固定次数的迭代。