平时做些多表格表单显示时,actionform中经常会用到些数组或多重数组属性,map的情况,下面把我平时用到的几种总结一下:
假定actionform名为myForm.java 在sturts-config.xml中定义名也为 myForm
1.字符串或简单类型属性
myForm.java 中定义为 private String abc; (get ,set 方法略)
页面上: <bean:write name="myForm" property="abc" /> (显示abc中存储的内容)
2.数组属性
myForm.java 中定义为 private String[ ] array; (get ,set 方法略)
页面上: <bean:write name="myForm" property="array[4]" /> (显示数组array中第5个对象的值)
3.持久类对象属性
myForm.java 中定义为 private Pojo pj ; (get ,set 方法略)
页面上: <bean:write name="myForm" property="pj.item" /> (显示对象pj中item属性的值)
4.双维数组属性
myForm.java 中定义为 private List result_list ; (get ,set 方法略)
result_list 中每一项存储的内容为一数组
页面上:
<logic:iterate id="result" name="showResultForm" property="result_list" >
<bean:define id="resultArray" name="result" type="String[ ]"></bean:define>
<%=resultArray[0] %>
<%=resultArray[1] %>
<%=resultArray[2] %>
</logic:iterate>
循环显示result_list中每个数组中的前三项.
5.Map属性
myForm.java 中定义为 :
private Map map=new HashMap();
private Object value;
public Map getMap() {
return map;
}
public void setMap(Map map) {
this.map = map;
}
public Object getValue(String key)throws Exception {
return getMap().get(key);
}
public void setValue(String key,Object value) {
this.value = getMap().put(key, value);
}
页面上:
<bean:write name="myForm" property="value(key)" />
其中key为你在action里setValue(key,Object)中的key
例如我在action中
MyForm myForm=(MyForm )form;
myForm.setValue("0101","abc");
页面上
<bean:write name="myForm" property="value(0101)" />
显示abc
over,以上都是我测试实现过的,大家放心使用 :) 吃饭去了~