yunye 的 JavaBlog

          @see codemouse

          統(tǒng)計(jì)

          留言簿(1)

          閱讀排行榜

          評(píng)論排行榜

          logic:iterate

          <logic:iterate>標(biāo)記用于在頁(yè)面中創(chuàng)建一個(gè)循環(huán),以此來(lái)遍歷如數(shù)組、Collection、Map這樣的對(duì)象。該標(biāo)記的功能強(qiáng)大,在Struts應(yīng)用的頁(yè)面中經(jīng)常使用到。
          1、對(duì)數(shù)組進(jìn)行循環(huán)遍歷
          使用<logic:iterate>標(biāo)記可以用于遍歷數(shù)組,以下是一段示例代碼:

          <%
          String[] testArray={"str1","str2","str3"};
          pageContext.setAttribute("test",testArray);
          %>
          <logic:iterate id="show" name="test">
          <bean:write name="show"/>
          </logic:iterate>

          在上面的代碼中,首先定義了一個(gè)字符串?dāng)?shù)組,并為其初始化。接著,將該數(shù)組存入pageContext對(duì)象中,命名為test1。然后使用<logic:iterate>標(biāo)記的name屬性指定了該數(shù)組,并使用id來(lái)引用它,同時(shí)使用<bean:write>標(biāo)記來(lái)將其顯示出來(lái)。其結(jié)果為:
          str1
          str2
          str3


          另外,還可以通過(guò)length屬性來(lái)指定輸出元素的個(gè)數(shù)。如下面的代碼:
          <logic:iterate id="show" name="test" length="2" offset="1">
          <bean:write name="show"/>
          </logic:iterate>

          其中l(wèi)ength屬性指定了輸出元素的個(gè)數(shù),offset屬性指定了從第幾個(gè)元素開始輸出,如此處為1,則表示從第二個(gè)元素開始輸出。所以該代碼的運(yùn)行結(jié)果應(yīng)當(dāng)輸出:
          str2
          str3


          另外,該標(biāo)記還有一個(gè)indexId屬性,它指定一個(gè)變量存放當(dāng)前集合中正被訪問(wèn)的元素的序號(hào),如:

          <logic:iterate id="show" name="test" length="2" offset="1" indexId="number">
          <bean:write name="number"/>:<bean:write name="show"/>
          </logic:iterate>

          其顯示結(jié)果為:
          1:str2
          2:str3

          2、對(duì)HashMap進(jìn)行循環(huán)遍歷

          <%
          HashMap countries=new HashMap();
          countries.put("country1","中國(guó)");
          countries.put("country2","美國(guó)");
          countries.put("country3","英國(guó)");
          countries.put("country4","法國(guó)");
          countries.put("country5","德國(guó)");
          pageContext.setAttribute("countries",countries);
          %>
          <logic:iterate id="country" name="countries">
          <bean:write name="country" property="key"/>:
          <bean:write name="country" property="value"/>
          </logic:iterate>


          在bean:write中通過(guò)property的key和value分別獲得HaspMap對(duì)象的鍵和值。其顯示結(jié)果為:
          country5:德國(guó)
          country3:英國(guó)
          country2:美國(guó)
          country4:法國(guó)
          country1:中國(guó)

          由結(jié)果可看出,它并未按添加的順序?qū)⑵滹@示出來(lái)。這是因?yàn)镠aspMap是無(wú)序存放的。

          3、嵌套遍歷

          <%
          String[] colors={"red","green","blue"};
          String[] countries1={"中國(guó)","美國(guó)","法國(guó)"};
          String[] persons={"喬丹","布什","克林頓"};
          ArrayList list2=new ArrayList();
          list2.add(colors);
          list2.add(countries1);
          list2.add(persons);
          pageContext.setAttribute("list2",list2);
          %>
          <logic:iterate id="first" name="list2" indexId="numberfirst">
          <bean:write name="numberfirst"/>
          <logic:iterate id="second" name="first">
          <bean:write name="second"/>
          </logic:iterate>
          <br>
          </logic:iterate>


          運(yùn)行效果:
          0 red green blue
          1 中國(guó) 美國(guó) 法國(guó)
          2 喬丹 布什 克林頓

          <logic:iterate id="it" name="list" length="2">
          <bean write name="it"/><br/>
          </logic:iterate>

          list 是你要遍例的對(duì)象 it是list里面的元素的類型 ,還有個(gè)offset屬性,是用來(lái)表示起始位置的,比如,offset=“1”從第二位開始遍歷出值,offset=“0”是默認(rèn)值

          posted on 2008-03-22 00:43 yunye 閱讀(662) 評(píng)論(0)  編輯  收藏 所屬分類: Struts


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 仲巴县| 天柱县| 宝兴县| 将乐县| 息烽县| 十堰市| 河北省| 安陆市| 荥经县| 庄浪县| 泾川县| 辽宁省| 荣成市| 江津市| 陆丰市| 永春县| 靖安县| 崇礼县| 嵊州市| 鄂尔多斯市| 武清区| 英超| 平南县| 永济市| 宁晋县| 百色市| 临江市| 屯昌县| 九龙城区| 华亭县| 饶河县| 玉田县| 临海市| 望城县| 普格县| 澜沧| 安国市| 黑山县| 灌阳县| 昌平区| 大庆市|