json으로 view단으로 return을 하려는데 html양식(에러발생)으로 나오는 현상
- 작성자 :
- 박*진
- 작성일 :
- 2016-02-04 20:46:17
- 조회수 :
- 1,344
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
안녕하세요.
전자정부3.5.1 설치를 하고 공통컴포넌트중 일부(로그인, 권한정도)만 설치한 후 화면이 정상적으로 동작을 하는지 확인 한 후
제공 된 메뉴 중 970.공통상세코드를 grid(jqxgrid)로 변경하고 json 데이터를 리턴하려고 하는데
결과가 html(아래참조)로 되돌아 갑니다.
@RequestMapping(value="/sym/ccm/cde/EgovCcmCmmnDetailCodeList2.do", method=RequestMethod.POST)
@ResponseBody
public List<?> selectCmmnDetailCodeList2 (@ModelAttribute("loginVO") LoginVO loginVO
, @ModelAttribute("searchVO") CmmnDetailCodeVO searchVO
) throws Exception {
List<?> CmmnCodeList = cmmnDetailCodeManageService.selectCmmnDetailCodeList(searchVO);
JSONArray json = new JSONArray(CmmnCodeList);
System.out.println(CmmnCodeList);
System.out.println(json);
return CmmnCodeList;
}
위와 같이 약간 수정한 소스를 수정하고 log를 보면
-------------------------------------------------------------------------------------------------------------------------------------------------
INFO [egovframework.com.sec.security.filter.EgovSpringSecurityLoginFilter] EgovSpringSecurityLoginFilter called...
<<중략>>
[{rnum=2, codeId=COM001, code=REGC02, codeNm=커뮤니티 등록, useAt=Y}, {rnum=3, codeId=COM001, code=REGC03, codeNm=동호회 등록, useAt=Y}]
["{rnum=2, codeId=COM001, code=REGC02, codeNm=커뮤니티 등록, useAt=Y}","{rnum=3, codeId=COM001, code=REGC03, codeNm=동호회 등록, useAt=Y}"]
-------------------------------------------------------------------------------------------------------------------------------------------------
이렇게 나오는걸 봐선 json형식으로 제대로 전달 되어야 할거 같은데
화면 debugging tool의 response를 보면
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
.....
<body>
에러가 발생했습니다!
</body>
</html>
이렇게 나오면서 json파싱오류가 발생합니다.
혹, 설정이나 더 봐야 할 곳이 있는가 문의드립니다.
spring4에 맞게 org.springframework.http.converter.json.MappingJackson2HttpMessageConverter도 설정을 했습니다.
전자정부3.5.1 설치를 하고 공통컴포넌트중 일부(로그인, 권한정도)만 설치한 후 화면이 정상적으로 동작을 하는지 확인 한 후
제공 된 메뉴 중 970.공통상세코드를 grid(jqxgrid)로 변경하고 json 데이터를 리턴하려고 하는데
결과가 html(아래참조)로 되돌아 갑니다.
@RequestMapping(value="/sym/ccm/cde/EgovCcmCmmnDetailCodeList2.do", method=RequestMethod.POST)
@ResponseBody
public List<?> selectCmmnDetailCodeList2 (@ModelAttribute("loginVO") LoginVO loginVO
, @ModelAttribute("searchVO") CmmnDetailCodeVO searchVO
) throws Exception {
List<?> CmmnCodeList = cmmnDetailCodeManageService.selectCmmnDetailCodeList(searchVO);
JSONArray json = new JSONArray(CmmnCodeList);
System.out.println(CmmnCodeList);
System.out.println(json);
return CmmnCodeList;
}
위와 같이 약간 수정한 소스를 수정하고 log를 보면
-------------------------------------------------------------------------------------------------------------------------------------------------
INFO [egovframework.com.sec.security.filter.EgovSpringSecurityLoginFilter] EgovSpringSecurityLoginFilter called...
<<중략>>
[{rnum=2, codeId=COM001, code=REGC02, codeNm=커뮤니티 등록, useAt=Y}, {rnum=3, codeId=COM001, code=REGC03, codeNm=동호회 등록, useAt=Y}]
["{rnum=2, codeId=COM001, code=REGC02, codeNm=커뮤니티 등록, useAt=Y}","{rnum=3, codeId=COM001, code=REGC03, codeNm=동호회 등록, useAt=Y}"]
-------------------------------------------------------------------------------------------------------------------------------------------------
이렇게 나오는걸 봐선 json형식으로 제대로 전달 되어야 할거 같은데
화면 debugging tool의 response를 보면
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
.....
<body>
에러가 발생했습니다!
</body>
</html>
이렇게 나오면서 json파싱오류가 발생합니다.
혹, 설정이나 더 봐야 할 곳이 있는가 문의드립니다.
spring4에 맞게 org.springframework.http.converter.json.MappingJackson2HttpMessageConverter도 설정을 했습니다.
A
박노진님, 안녕하세요.
JSON타입으로 리턴시키려고 하시는데, 주신 소스코드상으로는 List타입으로 리턴하게 되어있습니다.
리턴타입을 변경해서 다시 해보시기 바랍니다.
감사합니다.
JSON타입으로 리턴시키려고 하시는데, 주신 소스코드상으로는 List타입으로 리턴하게 되어있습니다.
리턴타입을 변경해서 다시 해보시기 바랍니다.
감사합니다.