繼續(xù)關(guān)注我的C語(yǔ)言學(xué)習(xí)博客

          林臨的地盤(pán)

          java學(xué)習(xí)博客
          posts - 44, comments - 28, trackbacks - 0, articles - 0
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          2012年6月18日

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

          <s:iterator value="{'1','2','3','4','5'}" id='number'>
              <s:property value='number'/>A
          </s:iterator>
          打印結(jié)果為: 1A2A3A4A5A
          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ù)
          <s:iterator value="{'a','b','c'}" id='char' status='st'>
              <s:if test="#st.Even">
                  現(xiàn)在的索引是奇數(shù)為:<s:property value='#st.index'/>
              </s:if>
              當(dāng)前元素值:<s:property value='char'/>
          </s:iterator>
          3:遍歷map
          value可以直接定義為:
          value="#{"1":"a","2":"b"}"
          每個(gè)元素以都好隔開(kāi)。元素之間的key和value 冒號(hào)隔開(kāi)
          value也可以是數(shù)據(jù)棧里面的java.util.Map對(duì)象
          遍歷寫(xiě)法如下:
          <s:iterator value="map" id="id" status="st">
               key : <s:property value='key'/>
               value:<s:property vlaue='value'/>
          </s:iterator>
          當(dāng)然key 和value 都可以使java 的 Object
          3:遍歷數(shù)據(jù)棧.簡(jiǎn)單的List類(lèi),
          List<Attr>
          class Attr{String attrName;String getAttrName(){return "123";}}
          <s:iterator value="label" id="id">
              <s:property value="#id.attrName" />
          </s:iterator>
          當(dāng)然value 還可以寫(xiě)成 value="%{label}" label可以有.操作
          label的屬性List 可以寫(xiě)成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
          <s:iterator value="%{attrN }" id="id"   status="status">
          index    is : <s:property value='status.index'/>
          attrName is : <s:property value='id'/> or <s:property value='%{id}'/>
          attrName is : <s:property value='%{attrV[#status.index]}'/>
          </s:iterator>  
          轉(zhuǎn)自:http://www.aygfsteel.com/Reg/archive/2009/11/20/303085.html

          posted @ 2012-06-18 17:11 lubaolin 閱讀(841) | 評(píng)論 (0)編輯 收藏

          繼續(xù)關(guān)注我的C語(yǔ)言學(xué)習(xí)博客
          主站蜘蛛池模板: 新宁县| 中山市| 池州市| 丰都县| 贡觉县| 巴彦淖尔市| 沁阳市| 彭山县| 兴海县| 页游| 旌德县| 新邵县| 台中县| 定边县| 开阳县| 南江县| 郑州市| 滁州市| 大城县| 吴忠市| 广东省| 江陵县| 靖宇县| 伊吾县| 江油市| 南安市| 崇信县| 孟津县| 牙克石市| 仁怀市| 长治县| 新乐市| 铅山县| 昂仁县| 北宁市| 保靖县| 格尔木市| 阿荣旗| 福清市| 分宜县| 象山县|