Struts的Indexed屬性用處

          Struts的Indexed屬性用處

          banq http://www.jdon.com Mar 3, 2004 4:19 PM 回復(fù)此消息回復(fù)

          說(shuō)明:這是Struts的一種高級(jí)用法,struts-el中有相關(guān)說(shuō)明,這里討論在一般struts標(biāo)簽庫(kù)下如何實(shí)現(xiàn)。

          場(chǎng)景:
          有一個(gè)JavaBeans:如下:


          publicclass LabelValueBean implements Serializable {
          public LabelValueBean(String label, String value) {
          this.label = label;
          this.value = value;
          }
          private String label;

          public String getLabel() {
          returnthis.label;
          }

          publicvoid setLabel(String label) {
          this.label = label;
          }

          private String value;

          public String getValue() {
          returnthis.value;
          }

          publicvoid setValue(String value) {
          this.value = value;
          }

          public String toString() {
          StringBuffer sb = new StringBuffer("LabelValueBean[");
          sb.append(this.label);
          sb.append(
          ", ");
          sb.append(this.value);
          sb.append(
          "]");
          return (sb.toString());
          }


          }



          這是非常普通的JavaBeans, 如果ActionForm是這樣:


          publicclass TestBean extends ActionForm {

          .....
          private List lvbeans = new ArrayList();

          .....




          lvbeans是LabelValueBean的集合,如此組合,如果需要在Jsp頁(yè)面中對(duì)LabelValueBean的label和value值進(jìn)行增刪改,怎么辦?

          使用indexed屬性,TestBean類如下:


          publicclass TestBean extends ActionForm {

          .....
          private List lvbeans = new ArrayList();

          public TestBean(){
          //初始化數(shù)值
          lvbeans.add(new LabelValueBean(
          "1", "1"));
          lvbeans.add(new LabelValueBean(
          "2", "2"));
          lvbeans.add(new LabelValueBean(
          "3", "3"));

          }

          public LabelValueBean getLvbeans(int index) {
          return (LabelValueBean)lvbeans.get(index);
          }

          public List getLvbeans() {
          return lvbeans;
          }

          .....



          注意上述兩個(gè)get方法很重要,Jsp頁(yè)面代碼如下:





          <%@ taglib uri=
          "/WEB-INF/struts-logic.tld" prefix="logic" %>
          <%@ taglib uri=
          "/WEB-INF/struts-bean.tld" prefix="bean" %>
          <%@ taglib uri=
          "/WEB-INF/struts-html.tld" prefix="html" %>

          <jsp:useBean id=
          "test2" scope="page"class="test.TestBean"/>

          <h2>Test:
          <logic:iterate name=
          "test2" property="lvbeans" id="foo" indexId="ctr">
          <html:text name=
          "test2"
          property='<%=
          "lvbeans[" + ctr + "].label" %>' />
          </logic:iterate>

          </h2>


          這樣,運(yùn)行后的輸出結(jié)果是:




          <h2>Test:

          <input type=
          "text" name="lvbeans[0].label" value="1">

          <input type=
          "text" name="lvbeans[1].label" value="2">

          <input type=
          "text" name="lvbeans[2].label" value="3">


          </h2>


          這樣修改TestBean中的List中的LabelValueBean數(shù)值了。

          posted on 2006-08-02 22:59 hardson 閱讀(299) 評(píng)論(0)  編輯  收藏 所屬分類: 開源框架


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


          網(wǎng)站導(dǎo)航:
           
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 凉城县| 阿克陶县| 黔东| 吴川市| 汶上县| 长宁区| 张家川| 兴山县| 定结县| 广宗县| 含山县| 淮阳县| 金乡县| 陆川县| 班戈县| 荃湾区| 镇原县| 盐源县| 亳州市| 泗阳县| 富川| 德保县| 菏泽市| 伊春市| 德兴市| 凤城市| 邢台市| 祁连县| 永新县| 宁晋县| 康马县| 绥滨县| 南充市| 霍山县| 吴堡县| 霸州市| 抚松县| 井冈山市| 蒙自县| 临漳县| 龙泉市|