平时做些多表格表单显示时,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)" />(这里再次说明我了,我以前发的一篇文章里关于property是取的方法名字去掉set/get后第一个大写字母变小写的名称。其实就是调用的方法。而El表达式才是真正取的Form里的属性。)
显示abc
转载: [url]http://tb.blog.csdn.net/TrackBack.aspx?PostId=1596943[/url]