Struts的ActionForm中不同类型属性的使用方法总结

      平时做些多表格表单显示时,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

 

你可能感兴趣的:(Struts的ActionForm中不同类型属性的使用方法总结)