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

          struts2的s:iterator 可以遍歷 數(shù)據(jù)棧里面的任何數(shù)組,集合等等 以下幾個(gè)簡(jiǎn)單的demo:
          s:iterator 標(biāo)簽有3個(gè)屬性:
              value:被迭代的集合
              id   :指定集合里面的元素的id
              status 迭代元素的索引

          1:jsp頁(yè)面定義元素寫法 數(shù)組或list

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

          打印結(jié)果為:  1A2A3A4A5A
          上面的方法我在jsp文件里執(zhí)行沒(méi)有成功;這是另一種寫法:
          <%
                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元素用于獲得當(dāng)前iterator的值
                      
          2、status被設(shè)成stuts,在iterator的里面就可以通過(guò)#stuts取得IteratorStatus的對(duì)象。IteratorStatus類包含當(dāng)前序號(hào)信息,
                                                  如是否第一個(gè)或最后一個(gè),是否為奇數(shù)序號(hào)。這些信息在我們做格式化的時(shí)候,顯得非常有用。
             
          -->
              
          <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,每次的迭代數(shù)據(jù)都有IteratorStatus的實(shí)例,它有以下幾個(gè)方法
          int getCount()返回當(dāng)前迭代了幾個(gè)元素
          int getIndex()返回當(dāng)前元素索引
          boolean isEven()當(dāng)然的索引是否偶數(shù)
          boolean isFirst()當(dāng)前是否第一個(gè)元素
          boolean isLast()
          boolean isOdd()當(dāng)前元素索引是否奇數(shù)

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

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

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

          每個(gè)元素以都好隔開(kāi)。元素之間的key和value 冒號(hào)隔開(kāi)
          value也可以是數(shù)據(jù)棧里面的java.util.Map對(duì)象
          遍歷寫法如下:

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

          當(dāng)然key 和value 都可以使java 的 Object

          3:遍歷數(shù)據(jù)棧.簡(jiǎn)單的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>

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

          4:遍歷2個(gè)list;
          List
          <AttrName> attrN {color,size,style}
          List
          <AttrValue> attrV {red,20,gay}
          這2個(gè)list的元素是一一對(duì)應(yīng)的,一個(gè)attrN對(duì)應(yīng)一個(gè)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 閱讀(3147) 評(píng)論(3)  編輯  收藏 所屬分類: Struts

          評(píng)論

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

          很好  回復(fù)  更多評(píng)論   

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

          撒  回復(fù)  更多評(píng)論   

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

          文章一大抄,  回復(fù)  更多評(píng)論   


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2009年7月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導(dǎo)航

          統(tǒng)計(jì)

          公告

          ====Michael Lee====
          =Java Sofware Engineer=
          =Work @ Beijing=
          ---再煩,也別忘微笑;再急,也要注意語(yǔ)氣;再苦,也別忘堅(jiān)持;再累,也要愛(ài)自己!---
          ---低調(diào)做人,你會(huì)一次比一次穩(wěn)健;高調(diào)做事,你會(huì)一次比一次優(yōu)秀---
          ---成功的時(shí)候不要忘記過(guò)去;失敗的時(shí)候不要忘記還有未來(lái)---

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 金坛市| 南城县| 洛浦县| 黄浦区| 霍邱县| 吴川市| 仁化县| 保山市| 宝坻区| 如东县| 龙南县| 内黄县| 金阳县| 会泽县| 明星| 克什克腾旗| 息烽县| 乌兰县| 沙湾县| 万安县| 定兴县| 定西市| 旬邑县| 营口市| 聂拉木县| 越西县| 崇仁县| 龙山县| 集安市| 桓台县| 红河县| 琼结县| 安平县| 平果县| 出国| 南平市| 大理市| 印江| 苗栗县| 江城| 温泉县|