现在的位置: 首页 > 综合 > 正文

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

2013年10月25日 ⁄ 综合 ⁄ 共 1282字 ⁄ 字号 评论关闭

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,去设置迭代次数。

使用这两个属性,可以自配置固定次数的迭代。

抱歉!评论已关闭.