本站不再更新,歡迎光臨 java開發技術網
          隨筆-230  評論-230  文章-8  trackbacks-0

          Struts的Indexed屬性用處

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

          說明:這是Struts的一種高級用法,struts-el中有相關說明,這里討論在一般struts標簽庫下如何實現。

          場景:
          有一個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頁面中對LabelValueBean的label和value值進行增刪改,怎么辦?

          使用indexed屬性,TestBean類如下:


          publicclass TestBean extends ActionForm {

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

          public TestBean(){
          //初始化數值
          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;
          }

          .....



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





          <%@ 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>


          這樣,運行后的輸出結果是:




          <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數值了。

          posted on 2006-06-16 15:50 有貓相伴的日子 閱讀(1076) 評論(0)  編輯  收藏 所屬分類: j2ee
          本站不再更新,歡迎光臨 java開發技術網
          主站蜘蛛池模板: 如皋市| 寿光市| 辽阳县| 洪江市| 织金县| 廉江市| 宜春市| 衡阳县| 溧阳市| 华蓥市| 扎鲁特旗| 昂仁县| 西乌珠穆沁旗| 大连市| 通城县| 田林县| 自治县| 大邑县| 永德县| 河南省| 信丰县| 宣城市| 平定县| 巴楚县| 黄陵县| 蕲春县| 如东县| 麻阳| 丁青县| 招远市| 成安县| 英德市| 稷山县| 盈江县| 西丰县| 闸北区| 时尚| 乌拉特前旗| 定日县| 平山县| 明溪县|