RequestParam을 사용하여 Map으로 변환
- 작성자 :
- 박*동
- 작성일 :
- 2017-07-04 16:42:13
- 조회수 :
- 2,277
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
@RequestMapping(value = "/main/actionTest.do", method = RequestMethod.POST)
public ModelAndView actionTest.do(@RequestParam Map<String,Object> commandMap) throws Exception {
ModelAndView mav = new ModelAndView(HS_VIEW);
for (String mapkey : commandMap.keySet()){
System.out.println("key:"+mapkey+",value:"+commandMap.get(mapkey));
}
Map resultMap = new HashMap();
resultMap.put("result", 1);
mav.addAllObjects(resultMap);
return mav;
}
var data = '{"name":"John", "age":30}';
function docheck() {
$.support.cors = true;
$.ajax({
type:"GET",
url: "http://localhost:8080/main/actionTest.do",
processData:false,
dataType: "json",
data: data,
success : function (mav) {
alert(mav);
},
error : function(request, status, error) {
alert("code : " + request.status + "\r\nmessage : " + request.reponseText);
}
});
ajax으로 json을 넘기면 @RequestMapping에서 map으로 안받아져요.
System.out.println 으로 찍으면 이렇게 나오네요. key:{"name":"John", "age":30},value:
어떻게 처리를 해야 하나요?
public ModelAndView actionTest.do(@RequestParam Map<String,Object> commandMap) throws Exception {
ModelAndView mav = new ModelAndView(HS_VIEW);
for (String mapkey : commandMap.keySet()){
System.out.println("key:"+mapkey+",value:"+commandMap.get(mapkey));
}
Map resultMap = new HashMap();
resultMap.put("result", 1);
mav.addAllObjects(resultMap);
return mav;
}
var data = '{"name":"John", "age":30}';
function docheck() {
$.support.cors = true;
$.ajax({
type:"GET",
url: "http://localhost:8080/main/actionTest.do",
processData:false,
dataType: "json",
data: data,
success : function (mav) {
alert(mav);
},
error : function(request, status, error) {
alert("code : " + request.status + "\r\nmessage : " + request.reponseText);
}
});
ajax으로 json을 넘기면 @RequestMapping에서 map으로 안받아져요.
System.out.println 으로 찍으면 이렇게 나오네요. key:{"name":"John", "age":30},value:
어떻게 처리를 해야 하나요?
A
안녕하세요 박수동님,
표준프레임워크센터입니다.
이해한 바로는 json형태로 넘겨서 map형태로 받는 것을 문의 주셨는데요,
map형태로 데이터를 출력받기를 원하신다면 처음에 데이터를 넘길때도 map형태로 넘기셔서
map형태로 데이터를 출력받으실 수 있습니다. dataType:'json'을 입력하신다고 해서
넘기실때 map이 아닌 json형태로 넘기시는게 아닙니다.
Ajax에서 map형태로 넘기고 map형태로 받는 방법에 대해서는 아래의 링크를 참조하시길 바랍니다.
https://brunch.co.kr/@ourlove/69
만약에 데이터를 넘길때도 json형태로 넘기고 싶으시다면
Spring Ajax에서 json형태로 넘겨서 자동으로 컨버팅하여 map형태로 받는 것은 구현되어있지 않기 때문에,
Adapter를 코딩하셔서 json으로 넘기더라도 map형태로 변환해서 받는 것을 만드셔야 하는 부분입니다.
답변이 도움이 되셨기를 바랍니다.
감사합니다.
표준프레임워크센터입니다.
이해한 바로는 json형태로 넘겨서 map형태로 받는 것을 문의 주셨는데요,
map형태로 데이터를 출력받기를 원하신다면 처음에 데이터를 넘길때도 map형태로 넘기셔서
map형태로 데이터를 출력받으실 수 있습니다. dataType:'json'을 입력하신다고 해서
넘기실때 map이 아닌 json형태로 넘기시는게 아닙니다.
Ajax에서 map형태로 넘기고 map형태로 받는 방법에 대해서는 아래의 링크를 참조하시길 바랍니다.
https://brunch.co.kr/@ourlove/69
만약에 데이터를 넘길때도 json형태로 넘기고 싶으시다면
Spring Ajax에서 json형태로 넘겨서 자동으로 컨버팅하여 map형태로 받는 것은 구현되어있지 않기 때문에,
Adapter를 코딩하셔서 json으로 넘기더라도 map형태로 변환해서 받는 것을 만드셔야 하는 부분입니다.
답변이 도움이 되셨기를 바랍니다.
감사합니다.