问答详情
源自:4-8 接收参数-深入Struts2

struts2传递set集合 前台该怎么写呢

问老师: 如果后台接受的是一个set集合而非list集合该怎么写呢?

提问者:上帝爱掷骰子 2015-09-04 15:40

个回答

  • Fcming
    2015-09-08 19:20:04

    您好,Set集合跟List是一样的。

  • 凌晨1点21分
    2016-03-23 16:22:41

    前端使用<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命名就行

  • 冯文伟
    2015-11-25 19:38:23

    请问下。你的问题有答案了没?

  • 上帝爱掷骰子
    2015-09-11 20:40:38

    但是set集合石无序的 好像不能用 user[0].name这种形式