论坛首页 Java企业应用论坛

SpingMVC如何实现集合参数

浏览 31462 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2012-04-18  
我不知道是不是你想要的结果,
我的理解是你要从界面传送多个user对象至后台,可以通过这样,解决
①封装user对象,List<User> user
②controller里面参数List<User> user
②界面上写比如 user[0].username,user[1].username,user[2].username
  传到后台之后,springMVC自动给user集合放入3个对象
0 请登录后投票
   发表时间:2012-04-19   最后修改:2012-04-19
sootv 写道
我不知道是不是你想要的结果,
我的理解是你要从界面传送多个user对象至后台,可以通过这样,解决
①封装user对象,List<User> user
②controller里面参数List<User> user
②界面上写比如 user[0].username,user[1].username,user[2].username
  传到后台之后,springMVC自动给user集合放入3个对象

个人追问下:对于总单明细(主从表)更新操作(同时保存)时,后台如何判断哪行是新增的,哪行是修改后的,还有哪行已经被删除了?一直没有比较合适优雅的解决方法,你们是如何处理的?
0 请登录后投票
   发表时间:2012-04-19  
hellostory 写道
sootv 写道
我不知道是不是你想要的结果,
我的理解是你要从界面传送多个user对象至后台,可以通过这样,解决
①封装user对象,List<User> user
②controller里面参数List<User> user
②界面上写比如 user[0].username,user[1].username,user[2].username
  传到后台之后,springMVC自动给user集合放入3个对象

个人追问下:对于总单明细(主从表)更新操作(同时保存)时,后台如何判断哪行是新增的,哪行是修改后的,还有哪行已经被删除了?一直没有比较合适优雅的解决方法,你们是如何处理的?


可不可以这样,通过js操作:

1、使用div/tr 标识每一行
2、如果是修改  在tr/div中加入update标识
3、如果是删除,在tr/div中加上delete标识
4、提交表单前 删除其他的tr 然后submit
0 请登录后投票
   发表时间:2012-04-19   最后修改:2012-04-19
jinnianshilongnian 写道
hellostory 写道
sootv 写道
我不知道是不是你想要的结果,
我的理解是你要从界面传送多个user对象至后台,可以通过这样,解决
①封装user对象,List<User> user
②controller里面参数List<User> user
②界面上写比如 user[0].username,user[1].username,user[2].username
  传到后台之后,springMVC自动给user集合放入3个对象

个人追问下:对于总单明细(主从表)更新操作(同时保存)时,后台如何判断哪行是新增的,哪行是修改后的,还有哪行已经被删除了?一直没有比较合适优雅的解决方法,你们是如何处理的?


可不可以这样,通过js操作:

1、使用div/tr 标识每一行
2、如果是修改  在tr/div中加入update标识
3、如果是删除,在tr/div中加上delete标识
4、提交表单前 删除其他的tr 然后submit


提交表单前 删除其他的tr?这里的“其他”指的是?
0 请登录后投票
   发表时间:2012-04-19  
hellostory 写道
jinnianshilongnian 写道
hellostory 写道
sootv 写道
我不知道是不是你想要的结果,
我的理解是你要从界面传送多个user对象至后台,可以通过这样,解决
①封装user对象,List<User> user
②controller里面参数List<User> user
②界面上写比如 user[0].username,user[1].username,user[2].username
  传到后台之后,springMVC自动给user集合放入3个对象

个人追问下:对于总单明细(主从表)更新操作(同时保存)时,后台如何判断哪行是新增的,哪行是修改后的,还有哪行已经被删除了?一直没有比较合适优雅的解决方法,你们是如何处理的?


可不可以这样,通过js操作:

1、使用div/tr 标识每一行
2、如果是修改  在tr/div中加入update标识
3、如果是删除,在tr/div中加上delete标识
4、提交表单前 删除其他的tr 然后submit


提交表单前 删除其他的tr?这里的“其他”指的是?

即没有动过的
0 请登录后投票
   发表时间:2012-04-19  
jinnianshilongnian 写道
hellostory 写道
jinnianshilongnian 写道
hellostory 写道
sootv 写道
我不知道是不是你想要的结果,
我的理解是你要从界面传送多个user对象至后台,可以通过这样,解决
①封装user对象,List<User> user
②controller里面参数List<User> user
②界面上写比如 user[0].username,user[1].username,user[2].username
  传到后台之后,springMVC自动给user集合放入3个对象

个人追问下:对于总单明细(主从表)更新操作(同时保存)时,后台如何判断哪行是新增的,哪行是修改后的,还有哪行已经被删除了?一直没有比较合适优雅的解决方法,你们是如何处理的?


可不可以这样,通过js操作:

1、使用div/tr 标识每一行
2、如果是修改  在tr/div中加入update标识
3、如果是删除,在tr/div中加上delete标识
4、提交表单前 删除其他的tr 然后submit


提交表单前 删除其他的tr?这里的“其他”指的是?

即没有动过的


哦~ 你是否少了一条:“如果是新增,在tr/div中加入insert标识”?

还有,对于类似SpringMVC自动封装参数对象的操作,是否需要再定义一个新的VO对象,然后添加一个属性flag标识是新增还是删除等
0 请登录后投票
   发表时间:2012-04-19  
hellostory 写道
jinnianshilongnian 写道
hellostory 写道
jinnianshilongnian 写道
hellostory 写道
sootv 写道
我不知道是不是你想要的结果,
我的理解是你要从界面传送多个user对象至后台,可以通过这样,解决
①封装user对象,List<User> user
②controller里面参数List<User> user
②界面上写比如 user[0].username,user[1].username,user[2].username
  传到后台之后,springMVC自动给user集合放入3个对象

个人追问下:对于总单明细(主从表)更新操作(同时保存)时,后台如何判断哪行是新增的,哪行是修改后的,还有哪行已经被删除了?一直没有比较合适优雅的解决方法,你们是如何处理的?


可不可以这样,通过js操作:

1、使用div/tr 标识每一行
2、如果是修改  在tr/div中加入update标识
3、如果是删除,在tr/div中加上delete标识
4、提交表单前 删除其他的tr 然后submit


提交表单前 删除其他的tr?这里的“其他”指的是?

即没有动过的


哦~ 你是否少了一条:“如果是新增,在tr/div中加入insert标识”?

还有,对于类似SpringMVC自动封装参数对象的操作,是否需要再定义一个新的VO对象,然后添加一个属性flag标识是新增还是删除等

没考虑新增   这样就是前端麻烦点 现在只想到这样实现
0 请登录后投票
   发表时间:2012-04-19  
想先新增并保存总单(主表),然后再添加明细,可是很多人嫌操作麻烦 ╮(╯▽╰)╭
0 请登录后投票
   发表时间:2012-04-19  
hellostory 写道
sootv 写道
我不知道是不是你想要的结果,
我的理解是你要从界面传送多个user对象至后台,可以通过这样,解决
①封装user对象,List<User> user
②controller里面参数List<User> user
②界面上写比如 user[0].username,user[1].username,user[2].username
  传到后台之后,springMVC自动给user集合放入3个对象

个人追问下:对于总单明细(主从表)更新操作(同时保存)时,后台如何判断哪行是新增的,哪行是修改后的,还有哪行已经被删除了?一直没有比较合适优雅的解决方法,你们是如何处理的?

你的意思是不是当一个操作或者说是一个按钮要对页面的所有数据进行增、删、改操作,并且数据是主、从两个表的数据.
我是这样处理 :
①对于明细来说,首先加载明细完毕后会在page每个明细对应一个标志位(或者说是保存明细时的必有字段),每个明细前面都有checkbox,若用户进行删除时,利用js将TR进行隐藏掉同时设置一个删除标志位,当一个操作将数据传至后台后,增加:明细数据,若对应的必有字段有值则代表更新,反之,则是增加, 删除:首先获得checkbox的所勾选的条目,再其判断删除标志位是否代表删除,若是则删除.
各位是否有好方法,还有对于传送集合对象的时候,你们是怎么处理的?
0 请登录后投票
   发表时间:2012-04-19   最后修改:2012-04-19
sootv 写道
hellostory 写道
sootv 写道
我不知道是不是你想要的结果,
我的理解是你要从界面传送多个user对象至后台,可以通过这样,解决
①封装user对象,List<User> user
②controller里面参数List<User> user
②界面上写比如 user[0].username,user[1].username,user[2].username
  传到后台之后,springMVC自动给user集合放入3个对象

个人追问下:对于总单明细(主从表)更新操作(同时保存)时,后台如何判断哪行是新增的,哪行是修改后的,还有哪行已经被删除了?一直没有比较合适优雅的解决方法,你们是如何处理的?

你的意思是不是当一个操作或者说是一个按钮要对页面的所有数据进行增、删、改操作,并且数据是主、从两个表的数据.
我是这样处理 :
①对于明细来说,首先加载明细完毕后会在page每个明细对应一个标志位(或者说是保存明细时的必有字段),每个明细前面都有checkbox,若用户进行删除时,利用js将TR进行隐藏掉同时设置一个删除标志位,当一个操作将数据传至后台后,增加:明细数据,若对应的必有字段有值则代表更新,反之,则是增加, 删除:首先获得checkbox的所勾选的条目,再其判断删除标志位是否代表删除,若是则删除.
各位是否有好方法,还有对于传送集合对象的时候,你们是怎么处理的?


曾经这样处理过:
把前台的明细全部传到后台,然后跟原始(修改前)明细比较,进一步细分成“新增的明细”、“修改的明细”、“被删除的明细”,其中主要用到了Apache Common Collections的求交集、并集、差集等方法,并重写明细类的equals()、hashCode()方法。
虽然步骤很繁琐,效率也不高,但至少第一次体会到了重写equals()、hashCode()的意义,多少也涉及点初中数学知识,O(∩_∩)O哈哈~  
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics