jsonView 사용방법 문의
- 작성자 :
- 김*득
- 작성일 :
- 2015-09-09 14:22:33
- 조회수 :
- 2,305
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
2.7버전으로 개발중입니다.
dispatcher-servlet.xml에
<bean id="jsonviewResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver" p:order="0"/>
<bean id="jsonView" class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">
<property name="contentType" value="application/json;charset=UTF-8"/>
</bean>
과 같이 추가 시켜놓고
컨트롤러를 통해
mav.setViewName("jsonView");
return mav;
를 통해 json 데이터를 받으려고 처리를 해놓았는데
실행시키면
org.codehaus.jackson.map.JsonMappingException: Infinite recursion (StackOverflowError) (through reference chain: org.springframework.ui.ModelMap["modelAndView"]->org.springframework.web.servlet.ModelAndView["model"]->
의 무한 반복입니다.
어디서 설정이 잘못된 것인지 알려주시면 감사하겠습니다.
dispatcher-servlet.xml에
<bean id="jsonviewResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver" p:order="0"/>
<bean id="jsonView" class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">
<property name="contentType" value="application/json;charset=UTF-8"/>
</bean>
과 같이 추가 시켜놓고
컨트롤러를 통해
mav.setViewName("jsonView");
return mav;
를 통해 json 데이터를 받으려고 처리를 해놓았는데
실행시키면
org.codehaus.jackson.map.JsonMappingException: Infinite recursion (StackOverflowError) (through reference chain: org.springframework.ui.ModelMap["modelAndView"]->org.springframework.web.servlet.ModelAndView["model"]->
의 무한 반복입니다.
어디서 설정이 잘못된 것인지 알려주시면 감사하겠습니다.
A
김성득님 안녕하세요.
dispatcher-servlet.xml설정은 맞는거 같습니다.
컨트롤러 부분은 다음 샘플을 참고하여 수정해 주시구요.
@RequestMapping("/test.do")
public ModelAndView testAjax(@ModelAttribute("searchVO") SampleDefaultVO commentVO, ModelMap model) throws Exception {
Map resultMap = new HashMap();
resultMap.put("result1", "test1");
resultMap.put("result2", "test222");
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
return modelAndView;
}
pom.xml에서는 아래 디펜던시를 적용해 주시고
버전은 테스트하시는 환경에 따라 수정해주시면 될듯합니다.
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.6.4</version>
</dependency>
재기동 하시고
/test.do를 호출하면 JSON문자열을 결과로 보실수 있을겁니다.
감사합니다.
dispatcher-servlet.xml설정은 맞는거 같습니다.
컨트롤러 부분은 다음 샘플을 참고하여 수정해 주시구요.
@RequestMapping("/test.do")
public ModelAndView testAjax(@ModelAttribute("searchVO") SampleDefaultVO commentVO, ModelMap model) throws Exception {
Map resultMap = new HashMap();
resultMap.put("result1", "test1");
resultMap.put("result2", "test222");
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
return modelAndView;
}
pom.xml에서는 아래 디펜던시를 적용해 주시고
버전은 테스트하시는 환경에 따라 수정해주시면 될듯합니다.
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.6.4</version>
</dependency>
재기동 하시고
/test.do를 호출하면 JSON문자열을 결과로 보실수 있을겁니다.
감사합니다.