old/Java

[Java] ajax 으로 Controller에 배열 넘기기

뒷골목프로그래머 2020. 2. 17. 11:46
반응형

안녕하세요. 글쓰는 개발자입니다.

오늘은 script단에서 ajax을 활용해 controller(Java단)로 배열값을 전달하는 방법을 소개하겠습니다.

저는 입력폼에서 checkbox를 활용한 다중선택값은 따로 분리해서 배열로 전달하였는데요. 이 때, @RequestParam Map<String, Object> param 형식으로 받게되면 배열의 경우, 첫번째 값만 가져오게 되므로 @RequestParam(value="parameter이름[]")List<String> 형으로 배열값을 받아와야 합니다. 아래 코드만 보시면 쉽게 이해가 되실 겁니다.

 

1. Script

$.ajax({
  url :'/my/testUrl/arrayTest',
  type : 'post',
  dataType : 'json',
  data : {
  	"exampleArray" : exampleArray,
  },
  success: function(data){
  	console.log("성공");
  }
});

2. Controller

@PostMapping("/arrayTest")
  public @ResponseBody void testArray( @RequestParam(value="exampleArray[]") List<String> exampleArray,
      
    logger.info("========== 배열확인 : "+exampleArray);
    
  }
반응형