1. 程式人生 > >記錄:s:iterator的一些使用(status,begin和end)

記錄:s:iterator的一些使用(status,begin和end)

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,去設定迭代次數。

使用這兩個屬性,可以自配置固定次數的迭代。