zoukankan      html  css  js  c++  java
  • struts2中迭代的使用方法

    struts2 
    Html代码 复制代码 收藏代码
    1. <s:iterator value="resultList" id="user" status="st"> 
    2.     <tr> 
    3.         <td><input type="checkbox"></td> 
    4.         <td><s:property value="#user.username"/></td> 
    5.         <td><s:property value="#user.password"/></td> 
    6.         <td><s:property value="#user.sex"/></td> 
    7.         <td><s:property value="#user.age"/></td> 
    8.         <td><s:property value="#user.email"/></td> 
    9.         <td><s:property value="#user.address"/></td> 
    10. </tr> 
    11. </s:iterator> 
    [html] view plain copy
    1. <s:iterator value="resultList" id="user" status="st">  
    2.     <tr>  
    3.         <td><input type="checkbox"></td>  
    4.         <td><s:property value="#user.username"/></td>  
    5.         <td><s:property value="#user.password"/></td>  
    6.         <td><s:property value="#user.sex"/></td>  
    7.         <td><s:property value="#user.age"/></td>  
    8.         <td><s:property value="#user.email"/></td>  
    9.         <td><s:property value="#user.address"/></td>  
    10. </tr>  
    11. </s:iterator>  

    1. value属性:可选的属性,value属性是指一个被迭代的集合,使用ognl表达式指定,假设为空的话默认就是ValueStack栈顶的集合. 
    2.id属性:可选属性, 是指集合元素的id 
    3.status属性:可选属性,该属性在迭代时会产生一个IteratorStatus对象,该对象能够推断当前元素的位置,包括了下面属性方法: 

    int getCount(); 迭代元素个数 
    int getIndex(); 迭代元素当前索引 
    boolean getFirst(); 是否为第一个 
    boolean getEven(); 是否为偶 
    boolean getLast(); 是否最后一个 
    bolean getOdd(); 是否为奇 


    因为iteratorstatus对象并非ognl的根对象因此訪问须要加上 #訪问例如以下样例: 

    Html代码 复制代码 收藏代码
    1. <s:iterator value=”{’dd’,'bb’,'cc’}” status=”st”> 
    2.  
    3. <s:if test=”#st.odd”> 
    4.  
    5. <s:property value=”#st.index”/> 
    6.  
    7. </s:if> 
    8.  
    9. </s:iterator> 
    [html] view plain copy
    1. <s:iterator value=”{’dd’,'bb’,'cc’}” status=”st”>  
    2.   
    3. <s:if test=”#st.odd”>  
    4.   
    5. <s:property value=”#st.index”/>  
    6.   
    7. </s:if>  
    8.   
    9. </s:iterator>  


    此外:iterator也能够迭代map对象,map对象中有几对key-value 就迭代几次,分别使用 
    Html代码 复制代码 收藏代码
    1. <s:property value=”key”/> 
    2. <s:property value=”value”/> 
    [html] view plain copy
    1. <s:property value=”key”/>  
    2. <s:property value=”value”/>  

    输出就可以. 

    案比例如以下(WebWork标签):实现奇偶行不同颜色显示 

    JSP中结果集显演示样例如以下: 

    Html代码 复制代码 收藏代码
    1. <s:iterator value="resultList" status="status"> 
    2.  
    3. <tr class="<s:if test="#status.even">row-even</s:if><s:else>row-odd</s:else>"> 
    4.  
    5. <td> 
    6.  
    7. <s:property value=""/> 
    8.  
    9. </td> 
    10.  
    11. </tr> 
    12.  
    13. </s:iterator> 
    [html] view plain copy
    1. <s:iterator value="resultList" status="status">  
    2.   
    3. <tr class="<s:if test="#status.even">row-even</s:if><s:else>row-odd</s:else>">  
    4.   
    5. <td>  
    6.   
    7. <s:property value=""/>  
    8.   
    9. </td>  
    10.   
    11. </tr>  
    12.   
    13. </s:iterator>  

    样式表能够參考: 

    .row-even{background-color:#def7c2;} 

    .row-odd{background-color:#c8e7a6;} 

    除了使用#status.even推断是否偶数行外,还有其它几个属性能够使用: 

    #status.odd 是否奇数行 

    #status.count 当前行数 

    #status.index 当前行的序号。从0開始[#status.count=#status.index+1] 

    #status.first 是否第一行 

    #status.last 是否最后一行 

    #status.modules(int) 当前行数取模 
  • 相关阅读:
    [zt]在XML序列化时去除默认命名空间xmlns:xsd和xmlns:xsi
    线程间操作无效: 从不是创建控件“...”的线程访问它。
    Unity IoC + WCF + wsHTTPBinding + Certificate Authorization
    [转]PowerDesigner使用教程 —— 概念数据模型
    C# Post数据和接收简单示例【摘】
    163相册验证码图片的识别手记之一 去除干扰
    实现WCF和Unity 的集成
    Html.ActionLink 几种重载方式说明及例子
    如何从程序员到项目经理【转帖51cto】
    OSG闪存
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/8674266.html
Copyright © 2011-2022 走看看