記錄:s:iterator的一些使用(status,begin和end)
阿新 • • 發佈:2019-01-31
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,去設定迭代次數。
使用這兩個屬性,可以自配置固定次數的迭代。