您的位置:首页 > 编程语言 > Java开发

@RequestBody Spring MVC接受对象数组,并接受其它参数

2016-05-12 10:25 525 查看
首先说Spring接受对象数组,这个有多种方法,我就说一个我认为最好的一个,用@ResponseBody 和@RequestBody注解,这个方法可以接受对象数组,还不必限定数组长度,代码如下。

`

submitUserList_3

function submitUserList_3() {alert("ok");

var customerArray = new Array();

customerArray.push({id: "1", name: "李四", pwd: "123"});

customerArray.push({id: "2", name: "张三", pwd: "332"});

.ajax({
url: "/user/submitUserList_3",
type: "POST",
contentType : 'application/json;charset=utf-8', //设置请求头信息
dataType:"json",
//data: JSON.stringify(customerArray), //将Json对象序列化成Json字符串,JSON.stringify()原生态方法
data:.ajax({
url: "/user/submitUserList_3",
type: "POST",
contentType : 'application/json;charset=utf-8', //设置请求头信息
dataType:"json",
//data: JSON.stringify(customerArray), //将Json对象序列化成Json字符串,JSON.stringify()原生态方法
data: .toJSON(customerArray), //将Json对象序列化成Json字符串,toJSON()需要引用jquery.json.min.js

success: function(data){

alert(data);

},

error: function(res){

alert(res.responseText);

}

});

}

submitUserList_3

`

后台代码如下

@RequestMapping(value = "/submitUserList_3", method ={RequestMethod.POST})

@ResponseBody

public String submitUserList_3(@RequestBody List<User> users)

throws Exception{

String result = "";

if(users == null || users.size() <= 0){ return "No any ID.中文"; }

result = this.showUserList(users);

return result;

}


这个方法有一定的局限性,当你的参数不仅仅有对象数组,还有其它数据的时候,你会发现后台报错,无法发射生成对象,这个时候就要用另一种方式,把List换成List这样,数组对象就可以以Map的方式处理,多余的数据以对象的方式写进数组例如

customerArray.push({id: "1", name: "李四", pwd: "123",age:"18"});


等等,数据。只要你找到新加的数据,单独取出来就可以处理。方式大概就是

Map data=users.get(orderItems.size()-1);

users.remove(orderItems.size()-1);


这样就可以了。

完成这个数据方案,让我又感觉到了Map的强大,抽象的强大
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: