Struts2 集合属性接收问题探讨

直入正题

假设有一个action,MyAction

public class MyAction extend actionSupport{

  private List<myBean> listBeans;

  private Set<MyBean> setBeans;

  //...此处省略setter和getter方法

}

 

public class MyBean{

  private int id;

  //...此处省略setter和getter方法

}

 

页面form表单请求MyAction并给listBeans和setBeans赋值

<input type="text" name="listBeans.myBean.id" /> //此处能正常接受参数信息

<input type="text" name="setBeans.myBean.id" />//此处无法正常接收参数信息

当接收参数值的对象是set时 必须设置Conversion转换器

在MyAction.java同目录下配置MyAction-conversion.properties的文件

配置如下:

KeyProperty_setBeans = id
Element_setBeans = MyBean
CreateIfNull_setBeans = true

并且需要做以下处理:

1、在MyAction中初始化setBeans = new HashSet<MyBean>();

2、将<input type="text" name="setBeans.myBean.id" />更改为<input type="text" name="setBeans.makeNew[0].myBean.id" />

这样Struts2才能正常接受参数。

posted @ 2013-04-18 16:40  一颗尘埃  阅读(683)  评论(0编辑  收藏  举报