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
有貓相伴的日子 閱讀(1072)
評論(0) 編輯 收藏 所屬分類:
j2ee