struts2 標簽的使用之二 s:iterator(修正)

          struts2的s:iterator 可以遍歷 數據棧里面的任何數組,集合等等 以下幾個簡單的demo:
          s:iterator 標簽有3個屬性:
              value:被迭代的集合
              id   :指定集合里面的元素的id
              status 迭代元素的索引

          1:jsp頁面定義元素寫法 數組或list

             
          1<s:iterator value="{'1','2','3','4','5'}" id='number'>
             
          2.     <s:property value='number'/>A
             
          3</s:iterator>

          打印結果為:  1A2A3A4A5A
          上面的方法我在jsp文件里執行沒有成功;這是另一種寫法:
          <%
                List list 
          = new ArrayList();
                list.add(
          "Max");
                list.add(
          "Michael");
                list.add(
          "Scott");
                list.add(
          "Jeffry");
                list.add(
          "Joe");
                request.setAttribute(
          "names", list);
             
          %>

          <h3>Names:</h3>
            
          <!--
                      
          1、此處的空property元素用于獲得當前iterator的值
                      
          2、status被設成stuts,在iterator的里面就可以通過#stuts取得IteratorStatus的對象。IteratorStatus類包含當前序號信息,
                                                  如是否第一個或最后一個,是否為奇數序號。這些信息在我們做格式化的時候,顯得非常有用。
             
          -->
              
          <ol>
                  
          <s:iterator value="#request.names" status="stuts">
                      
          <s:if test="#stuts.odd == true">
                          
          <li>White <s:property/></li>
                      
          </s:if>
                      
          <s:else>
                          
          <li style="background-color:blue"><s:property/></li>
                      
          </s:else>
                  
          </s:iterator>
              
          </ol>

          2:索引的用法
          如果指定了status,每次的迭代數據都有IteratorStatus的實例,它有以下幾個方法
          int getCount()返回當前迭代了幾個元素
          int getIndex()返回當前元素索引
          boolean isEven()當然的索引是否偶數
          boolean isFirst()當前是否第一個元素
          boolean isLast()
          boolean isOdd()當前元素索引是否奇數

             
          1<s:iterator value="{'a','b','c'}" id='char' status='st'>
             
          2.     <s:if test="#st.Even">
             
          3.         現在的索引是奇數為:<s:property value='#st.index'/>
             
          4.     </s:if>
             
          5.     當前元素值:<s:property value='char'/>
             
          6</s:iterator>

          3:遍歷map
          value可以直接定義為:

             
          1. value="#{"1":"a","2":"b"}"

          每個元素以都好隔開。元素之間的key和value 冒號隔開
          value也可以是數據棧里面的java.util.Map對象
          遍歷寫法如下:

             
          1<s:iterator value="map" id="id" status="st">
             
          2.      key : <s:property value='key'/>
             
          3.      value:<s:property vlaue='value'/>
             
          4</s:iterator>

          當然key 和value 都可以使java 的 Object

          3:遍歷數據棧.簡單的List類,
          List
          <Attr> 
          class Attr{String attrName;String getAttrName(){return "123";}}

             
          1<s:iterator value="label" id="id">
             
          2.     <s:property value="#id.attrName" />
             
          3</s:iterator>

          當然value 還可以寫成 value
          ="%{label}" label可以有.操作
          label的屬性List 可以寫成value
          ="%{label.list}"  相當于:getLabel().getList();

          4:遍歷2個list;
          List
          <AttrName> attrN {color,size,style}
          List
          <AttrValue> attrV {red,20,gay}
          這2個list的元素是一一對應的,一個attrN對應一個attrV

             
          1<s:iterator value="%{attrN }" id="id"   status="status">
             
          2.  index    is : <s:property value='status.index'/>
             
          3.  attrName is : <s:property value='id'/> or <s:property value='%{id}'/> 
             
          4.  attrName is : <s:property value='%{attrV[#status.index]}'/>
             
          5</s:iterator> 

          posted on 2009-07-14 17:16 MichaelLee 閱讀(3151) 評論(3)  編輯  收藏 所屬分類: Struts

          評論

          # re: struts2 標簽的使用之二 s:iterator(修正)[未登錄] 2012-05-26 16:57 1

          很好  回復  更多評論   

          # re: struts2 標簽的使用之二 s:iterator(修正)[未登錄] 2012-05-26 16:57 1

          撒  回復  更多評論   

          # re: struts2 標簽的使用之二 s:iterator(修正)[未登錄] 2012-07-16 09:49 111

          文章一大抄,  回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2009年7月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導航

          統計

          公告

          ====Michael Lee====
          =Java Sofware Engineer=
          =Work @ Beijing=
          ---再煩,也別忘微笑;再急,也要注意語氣;再苦,也別忘堅持;再累,也要愛自己!---
          ---低調做人,你會一次比一次穩健;高調做事,你會一次比一次優秀---
          ---成功的時候不要忘記過去;失敗的時候不要忘記還有未來---

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 韶关市| 佛山市| 昭苏县| 乌兰察布市| 同德县| 东兴市| 潮安县| 彰武县| 屏山县| 南雄市| 河北区| 叙永县| 红安县| 班戈县| 始兴县| 温州市| 滦平县| 曲水县| 洪湖市| 乌海市| 马关县| 河池市| 寻甸| 民县| 凉山| 沂南县| 班玛县| 辽宁省| 日土县| 朔州市| 六枝特区| 嫩江县| 通山县| 连平县| 金阳县| 城固县| 镇巴县| 旬阳县| 西畴县| 临武县| 万宁市|