Struts的Indexed屬性用處

          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-08-02 22:59 hardson 閱讀(295) 評論(0)  編輯  收藏 所屬分類: 開源框架


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 工布江达县| 上杭县| 喜德县| 平陆县| 黄骅市| 恩施市| 革吉县| 柞水县| 海兴县| 西青区| 铅山县| 枣强县| 高台县| 拉孜县| 长岛县| 五台县| 江达县| 定远县| 托克逊县| 宜宾市| 左权县| 沁阳市| 云浮市| 莫力| 尤溪县| 青海省| 奉新县| 察雅县| 安国市| 杭锦后旗| 邵阳县| 辰溪县| 郁南县| 洪雅县| 五莲县| 潼关县| 贵定县| 舞钢市| 岱山县| 沁阳市| 乌审旗|