本站不再更新,歡迎光臨 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開發技術網
          主站蜘蛛池模板: 久治县| 黔江区| 云梦县| 邵阳县| 阳城县| 平陆县| 集安市| 德格县| 唐海县| 黑龙江省| 辰溪县| 仁布县| 苍溪县| 改则县| 南漳县| 监利县| 金寨县| 遂川县| 东源县| 新野县| 东辽县| 高台县| 安化县| 嫩江县| 青阳县| 皋兰县| 汶上县| 洛扎县| 古田县| 江孜县| 盱眙县| 三原县| 铜山县| 隆回县| 镇巴县| 玛多县| 黔西| 二连浩特市| 富民县| 大名县| 交口县|