springMVC传递一组对象的接受方式
受益此大神:https://blog.csdn.net/cgd_8523/article/details/80022331
同时借鉴代码!!!!
我只用了一种方法,就记下这一种
需求:前台存在动态添加对象(点击添加,增加一行,每行都是对象的属性)
准备后台:
1、建立公用模型,用来接收前台传递的集合数据。注意list的泛型,这里需给出要传递对象,我用过泛型T,白搭。。。
ublic class UserModel { private List<User> users; public List<User> getUsers() { return users; } public void setUsers(List<User> users) { this.users = users; } public UserModel(List<User> users) { super(); this.users = users; } public UserModel() { super(); } }
2、编写Controller
@RequestMapping(value = "/submitUserList_2", method ={RequestMethod.POST}) @ResponseBody public String submitUserList_2(UserModel users) throws Exception{ String result = ""; List<User> userList = users.getUsers(); if(userList == null || userList.size() <= 0){ return "No any ID.中文"; } result = this.showUserList(userList); return result; }
3、前台控制,form表单,简单点儿写,这个不重要
<form action="/user/submitUserList_2" method="post"> <table> <tr> <td> ID:<input type="text" name="users[0].id"></td> <td>Username:<input type="text" name="users[0].name"></td> <td> Password:<input type="text" name="users[0].pwd"></td> <input type="submit" value="Submit"> </tr> </table> </form>
4、js因为我这是灵活的form,所以给出一个比较变态的方法
var f=document.forms[0];
$(f).find("tr").each(function(i){
i=i-4;
if(i>=0)
$(this).find("input").each(function(){
var n=$(this).attr("name");
var _n="users["+i+"]."+n;
$(this).attr("name",_n);
});
});
这个人很懒,什么也没下留。