struts2传递set集合 前台该怎么写呢
问老师: 如果后台接受的是一个set集合而非list集合该怎么写呢?
问老师: 如果后台接受的是一个set集合而非list集合该怎么写呢?
2015-09-04
前端使用<input name="users.markNew[0].name" />的形式,注意这种方式传set需要注意:
1.UserAction.java中对users必须要初始化,如下所示:private Set<User> users=new HashSet();
2.前端必须要使用makeNew运算符,这样ognl才能帮我们创建新的对象,否则users会为空。当然如果
集合类型是List,就不必这样,直接name="users[0].name"就可以了。
3.添加action的struts2的局部类型转换配置文件UserAction-conversion.properties,在文件中加上KeyProperty_users=id,这是封装Set时必须的。类型转换文件只需在action同目录下按actionName-conversion.properties命名就行
举报