아래에서는 복잡한 json 매개변수를 컨트롤러에 전달하는 spirngmvc js의 예를 공유하겠습니다. 이는 좋은 참조 값을 갖고 있으며 모든 사람에게 도움이 되기를 바랍니다.
Spring MVC가 컬렉션 요청 매개변수를 수신하면 Controller 메소드의 컬렉션 매개변수 앞에 @RequestBody를 추가해야 하며, @RequestBody가 기본적으로 수신하는 enctype(MIME 인코딩)은 application/json이므로 요청 메시지에는 다음이 필요합니다. POST 요청을 보낼 때 설정해야 합니다. 그렇지 않으면 Spring MVC는 컬렉션 요청 매개변수를 구문 분석할 때 이를 자동으로 JSON 데이터로 변환한 다음 해당 컬렉션으로 구문 분석하지 않습니다.
다음은 List
Receive List
1. 페이지 js 코드:
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. reee
수신 목록< ; User>, User[] 컬렉션 매개변수:
1. 사용자 엔터티 클래스:
@Controller
@RequestMapping("/catalog.do")
public class CatalogController {
@RequestMapping(params = "fn=deleteCatalogSchemes")
@ResponseBody
public AjaxJson deleteCatalogSchemes(@RequestParam("idList[]") List<String> idList,Boolean isBatch) {
…
}
}
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){
…
}
});
User[] 배열을 받으려면 saveUsers의 매개변수 유형을 @RequestBody User[] userArray로 변경하기만 하면 됩니다.
수신 목록
1.페이지 js 코드(사용자 개체가 필요하지 않음):
@Controller
@RequestMapping("/catalog.do")
public class CatalogController {
@RequestMapping(params = "fn=saveUsers")
@ResponseBody
public AjaxJson saveUsers(@RequestBody List<User> userList) {
…
}
}
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){
…
}
});
수신 사용자(빈에 목록 포함) 수집 매개변수:
1 사용자 엔터티 클래스:
@Controller
@RequestMapping("/catalog.do")
public class CatalogController {
@RequestMapping(params = "fn=saveUsers")
@ResponseBody
public AjaxJson saveUsers(@RequestBody List<Map<String,Object>> listMap) {
…
}
}
public class User {
private String name;
private String pwd;
private List<User> customers;//属于用户的客户群
//省略getter/setter
}
Ajax 기술을 사용하여 XMLHttpRequest 객체를 통해 홈페이지 로그인 기능 완성 위 내용은 복잡한 json 매개변수를 컨트롤러에 전달하는 spirngmvc js의 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!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){
…
}
});