SpringMVC 복잡 집합 매개 변수, 집합 대상 수신

4566 단어 뇌 묵
Spring MVC 는 집합 요청 인 자 를 받 을 때 Controller 방법의 집합 매개 변수 에 @ RequestBody 를 추가 해 야 하 며, @ RequestBody 는 기본적으로 받 는 enctype (MIME 인 코딩) 이 application / json 이 므 로 POST 요청 을 보 낼 때 요청 메시지 헤더 정 보 를 설정 해 야 합 니 다.그렇지 않 으 면 Spring MVC 는 집합 요청 파 라 메 터 를 분석 할 때 JSON 데이터 로 자동 으로 변환 되 지 않 고 해당 하 는 집합 으로 해석 합 니 다.다음은 수신 List, List, List >, User [], User (bean 에 List 포함) 의 몇 가지 복잡 한 집합 매개 변수 예 시 를 열거 합 니 다.
  • 1. 수신 목록 집합 매개 변수:
  • 1. 페이지 js 코드:
    JS 코드
    var arr = [1,2,3];
    $.jBox.confirm("        ?", "warning",function () {
        $.ajax({
           type: 'get',
           url: '${base.contextPath}/giving/index/del',
           dataType: 'json',
           data: {ids: arr},
           success: function (result) {
              …
           },
           error: function (result) {
              …
           }
       })
    })

     
    2. Controller 방법:
     
    자바 코드
    @Controller
    @RequestMapping("/wxgiving")
    public class WxGivingController{
      @RequestMapping(value = "/index/del", method = RequestMethod.GET)
      @ResponseBody
      public ReturnMsg del (@RequestParam(value = "ids[]")List  ids){
         …
      }
    }

     
  •  수신 List, User [] 집합 매개 변수:
  • 1. 사용자 실체 클래스:
     
    자바 코드
    public class User {
      private int id;
      private String name;
      private String pwd;
      //  getter/setter
    }

    2. 페이지 js 코드:
    JS 코드
    //           
    var userList = new Array();
    userList.push({name: "  ",pwd: "123"});
    userList.push({name: "  ",pwd: "223"});
    $.ajax({
        type: "POST",
        url: "${base.contextPath}/user/index/add",
        data: JSON.stringify(userList),//       JSON   
        dataType:"json",
        contentType : 'application/json;charset=utf-8', //       
        success: function(result){
            …
        },
        error: function(result){
            …
        }
      });

     
    3. Controller 방법:
    자바 코드
    @Controller
    @RequestMapping(value = "/user")
    public class UserController(){
      @RequestMapping(value = "/index/add", method = RequestMethod.POST)
      @ResponseBody
      public ReturnMsg addOrEdit(@RequestBody List userList) {
         …
      }
    }

    User [] 배열 을 받 으 려 면 add 의 매개 변수 형식 을 @ RequestBody User [] userArray 로 바 꾸 면 됩 니 다.
     
  • 수신 목록 > 집합 매개 변수:
  • 1. 페이지 js 코드 (User 대상 필요 없 음):
    JS 코드
  • var userList = new Array();
    userList.push({name: "  ",pwd: "123"});
    userList.push({name: "  ",pwd: "223"});
    $.ajax({
        type: "POST",
        url: "${base.contextPath}/user/index/add",
        data: JSON.stringify(userList),//       JSON   
        dataType:"json",
        contentType : 'application/json;charset=utf-8', //       
        success: function(result){
            …
        },
        error: function(result){
            …
        }
      });

  •  
    2. Controller 방법:
    자바 코드
  • @Controller
    @RequestMapping(value = "/user")
    public class UserController(){
      @RequestMapping(value = "/index/add", method = RequestMethod.POST)
      @ResponseBody
      public ReturnMsg addOrEdit(@RequestBody List> listMap) {
        …
      }
    }
  •  수신 사용자 (bean 에 List 포함) 집합 매개 변수:
  • 1. 사용자 실체 클래스:
    자바 코드
  • public class User {
      private int id;
      private String name;
      private String pwd;
      private List userList;
      //  getter/setter
    }

  •  
    2. 페이지 js 코드:
     
    JS 코드
  • var userArray= new Array();
    userArray.push({name: "  ",pwd: "123"});
    userArray.push({name: "  ",pwd: "223"});
    var user = {};
    user.name = "  ";
    user.pwd = "888";
    user.userList= userArray;
    $.ajax({
        type: "POST",
        url: "${base.contextPath}/user/index/add",
        data: JSON.stringify(user),//       JSON   
        dataType:"json",
        contentType : 'application/json;charset=utf-8', //       
        success: function(result){
            …
        },
        error: function(result){
            …
        }
      });

  • 3. Controller 방법:
    자바 코드
  • @Controller
    @RequestMapping(value = "/user")
    public class UserController(){
      @RequestMapping(value = "/index/add", method = RequestMethod.POST)
      @ResponseBody
      public ReturnMsg addOrEdit(@RequestBody User user) {
        List userList= user.getUserList();

  • 좋은 웹페이지 즐겨찾기