(2.X -> 3.X) 업그레이드중 ajax 리턴 model 이 동작 안되는 현상 질문드립니다.
- 작성자 :
- 정*석
- 작성일 :
- 2015-04-20 13:20:54
- 조회수 :
- 1,591
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
2.5 버전에서 사용중이였던 ajax에서 처리해서 java단에서 받아오던 model.addAttribute 가 동작이 안되는 현상이 있습니다.
@ResponseBody 를 지원안하는것 같지는 않네요 가이드를 봐도 이러한 사항은 없어서 적용이 잘 될거라 생각했는데 안되네요.
jsp 에서 ajax호출은 정상적으로 되고 java단에서 map 까지는 로그에 찍히는것 까지 확인했는데 이후에서 제대로 처리가 안됩니다.
doLogin.jsp 를 호출하는게 문제인것 같은데 디버그 메시지는 아래와 같습니다.
2015-04-20 13:14:32,083 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Invoking afterPropertiesSet() on bean with name 'doLogin'
2015-04-20 13:14:32,083 DEBUG [org.springframework.web.servlet.DispatcherServlet] Rendering view [org.springframework.web.servlet.view.JstlView: name 'doLogin'; URL [/WEB-INF/jsp/doLogin.jsp]] in DispatcherServlet with name 'action'
2015-04-20 13:14:32,083 DEBUG [org.springframework.web.servlet.view.JstlView] Added model object 'result' of type [java.util.HashMap] to request in view with name 'doLogin'
2015-04-20 13:14:32,098 DEBUG [org.springframework.web.servlet.view.JstlView] Forwarding to resource [/WEB-INF/jsp/doLogin.jsp] in InternalResourceView 'doLogin'
2015-04-20 13:14:32,098 DEBUG [org.springframework.web.servlet.DispatcherServlet] Successfully completed request
JSP에서 호출하는 ajax소스는 아래와같습니다.
$.ajax({
url : "/doLogin.do",
type : "POST",
data : $("#loginForm").serialize(),
dataType : "json",
async : false,
success : function(datas){
alert("1");
if( datas.result.login == "success"){
alert("2");
window.location.href= datas.result.url;
}else{
alert("3");
alert(datas.result.MESSAGE);
}
}
});
@ResponseBody 를 지원안하는것 같지는 않네요 가이드를 봐도 이러한 사항은 없어서 적용이 잘 될거라 생각했는데 안되네요.
jsp 에서 ajax호출은 정상적으로 되고 java단에서 map 까지는 로그에 찍히는것 까지 확인했는데 이후에서 제대로 처리가 안됩니다.
doLogin.jsp 를 호출하는게 문제인것 같은데 디버그 메시지는 아래와 같습니다.
2015-04-20 13:14:32,083 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Invoking afterPropertiesSet() on bean with name 'doLogin'
2015-04-20 13:14:32,083 DEBUG [org.springframework.web.servlet.DispatcherServlet] Rendering view [org.springframework.web.servlet.view.JstlView: name 'doLogin'; URL [/WEB-INF/jsp/doLogin.jsp]] in DispatcherServlet with name 'action'
2015-04-20 13:14:32,083 DEBUG [org.springframework.web.servlet.view.JstlView] Added model object 'result' of type [java.util.HashMap] to request in view with name 'doLogin'
2015-04-20 13:14:32,098 DEBUG [org.springframework.web.servlet.view.JstlView] Forwarding to resource [/WEB-INF/jsp/doLogin.jsp] in InternalResourceView 'doLogin'
2015-04-20 13:14:32,098 DEBUG [org.springframework.web.servlet.DispatcherServlet] Successfully completed request
JSP에서 호출하는 ajax소스는 아래와같습니다.
$.ajax({
url : "/doLogin.do",
type : "POST",
data : $("#loginForm").serialize(),
dataType : "json",
async : false,
success : function(datas){
alert("1");
if( datas.result.login == "success"){
alert("2");
window.location.href= datas.result.url;
}else{
alert("3");
alert(datas.result.MESSAGE);
}
}
});
A
안녕하세요. 표준프레임워크센터입니다.
보내주신 내용만으로는 문제점을 확인하기 어려울 것 같습니다.
표준프레임워크 ajax예제 및 @ResponseBody 를 사용하는 외부링크 예제를 안내해드리니, 설정부분과 controller에서 return하는 부분의
내용을 확인 바랍니다.
- spring MVC + JSON @ResponseBody를 사용하는 경우
http://jp1020.tistory.com/63
http://ismydream.tistory.com/140
http://www.mkyong.com/spring-mvc/spring-3-mvc-and-json-example/
- AJAX 예제
http://www.egovframe.go.kr/EgovRunEnvReleaseEdu.jsp?menu=3&submenu=1&leftsub=5
명확한 해결법을 제시하지 못해 죄송합니다.
감사합니다.
보내주신 내용만으로는 문제점을 확인하기 어려울 것 같습니다.
표준프레임워크 ajax예제 및 @ResponseBody 를 사용하는 외부링크 예제를 안내해드리니, 설정부분과 controller에서 return하는 부분의
내용을 확인 바랍니다.
- spring MVC + JSON @ResponseBody를 사용하는 경우
http://jp1020.tistory.com/63
http://ismydream.tistory.com/140
http://www.mkyong.com/spring-mvc/spring-3-mvc-and-json-example/
- AJAX 예제
http://www.egovframe.go.kr/EgovRunEnvReleaseEdu.jsp?menu=3&submenu=1&leftsub=5
명확한 해결법을 제시하지 못해 죄송합니다.
감사합니다.