Home > Article > Web Front-end > Example of spirngmvc js passing complex json parameters to controller
Below I will share with you an example of spirngmvc js passing complex json parameters to the controller. It has a good reference value and I hope it will be helpful to everyone.
When Spring MVC receives collection request parameters, it needs to add @RequestBody before the collection parameters of the Controller method. The enctype (MIME encoding) received by @RequestBody by default is application/json, so it is required when sending a POST request. Set the request header information, otherwise Spring MVC will not automatically convert it into JSON data and then parse it into the corresponding collection when parsing the collection request parameters.
The following are examples of more complex collection parameters that receive Listf7e83be87db5cd2d9a8a0b8117b38cd4, List4c8e0c17c3bd7e0081bb17cc795e1984, Lista06c5c2dfccfdea21bf0b155d9343663>, User[], and User (bean contains List):
Receive Listf7e83be87db5cd2d9a8a0b8117b38cd4 collection parameters:
##1. Page js code:
var idList = new Array(); idList.push(“1”); idList.push(“2”); idList.push(“3”); var isBatch = false; $.ajax({ type: "POST", url: "<%=path%>/catalog.do?fn=deleteCatalogSchemes", dataType: 'json', data: {"idList":idList,"isBatch":isBatch}, success: function(data){ … }, error: function(res){ … } });
2. Controller method:
##
@Controller @RequestMapping("/catalog.do") public class CatalogController { @RequestMapping(params = "fn=deleteCatalogSchemes") @ResponseBody public AjaxJson deleteCatalogSchemes(@RequestParam("idList[]") List<String> idList,Boolean isBatch) { … } }
##Receive List4c8e0c17c3bd7e0081bb17cc795e1984, User[] collection parameters:
1, User entity class:
public class User { private String name; private String pwd; //省略getter/setter }
var userList = new Array(); userList.push({name: "李四",pwd: "123"}); userList.push({name: "张三",pwd: "332"}); $.ajax({ type: "POST", url: "<%=path%>/catalog.do?fn=saveUsers", data: JSON.stringify(userList),//将对象序列化成JSON字符串 dataType:"json", contentType : 'application/json;charset=utf-8', //设置请求头信息 success: function(data){ … }, error: function(res){ … } });
@Controller @RequestMapping("/catalog.do") public class CatalogController { @RequestMapping(params = "fn=saveUsers") @ResponseBody public AjaxJson saveUsers(@RequestBody List<User> userList) { … } }
If you want to receive the User[] array, you only need to change the parameter type of saveUsers to @RequestBody User[] userArray.
Receive Lista06c5c2dfccfdea21bf0b155d9343663> collection parameters:
##1. Page js code (User object is not required) :
var userList = new Array(); userList.push({name: "李四",pwd: "123"}); userList.push({name: "张三",pwd: "332"}); $.ajax({ type: "POST", url: "<%=path%>/catalog.do?fn=saveUsers", data: JSON.stringify(userList),//将对象序列化成JSON字符串 dataType:"json", contentType : 'application/json;charset=utf-8', //设置请求头信息 success: function(data){ … }, error: function(res){ … } });
##2. Controller method:
@Controller
@RequestMapping("/catalog.do")
public class CatalogController {
@RequestMapping(params = "fn=saveUsers")
@ResponseBody
public AjaxJson saveUsers(@RequestBody List<Map<String,Object>> listMap) {
…
}
}
1. User entity class:
##public class User {
private String name;
private String pwd;
private List<User> customers;//属于用户的客户群
//省略getter/setter
}
var customerArray = new Array();
customerArray.push({name: "李四",pwd: "123"});
customerArray.push({name: "张三",pwd: "332"});
var user = {};
user.name = "李刚";
user.pwd = "888";
user. customers = customerArray;
$.ajax({
type: "POST",
url: "<%=path%>/catalog.do?fn=saveUsers",
data: JSON.stringify(user),//将对象序列化成JSON字符串
dataType:"json",
contentType : 'application/json;charset=utf-8', //设置请求头信息
success: function(data){
…
},
error: function(res){
…
}
});
##3. Controller method:
@Controller
@RequestMapping("/catalog.do")
public class CatalogController {
@RequestMapping(params = "fn=saveUsers")
@ResponseBody
public AjaxJson saveUsers(@RequestBody User user) {
List<User> customers = user.getCustomers();
…
}
}
The above is what I compiled for everyone. I hope it will be helpful to everyone in the future. Related articles:
How to create an ajax object and be compatible with multiple browsers
The above is the detailed content of Example of spirngmvc js passing complex json parameters to controller. For more information, please follow other related articles on the PHP Chinese website!