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

来源:互联网 发布:水质监测数据 编辑:程序博客网 时间:2024/06/18 06:13

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

阅读全文
0 0