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

来源:4-8 接收参数-深入Struts2

上帝爱掷骰子

2015-09-04 15:40

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

写回答 关注

4回答

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

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

    Cirung...

    老师。。set集合 前端不知道怎么写啊。。。user[0].name这样不行 试过了。。hibernate生成的就是set 所以总不能去改set成List吧。。但是前端不知道怎么写才好。

    2015-12-22 11:32:32

    共 1 条回复 >

  • 凌晨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

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

    上帝爱掷骰子

    使用json传递吧

    2015-12-04 16:08:02

    共 1 条回复 >

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

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

Struts2入门

本教程带你踏上Struts2学习之旅,对Struts2进行更深入讲解

95062 学习 · 456 问题

查看课程

相似问题