Java에서 json 형태로 화면으로 떨구기
1. pom.xml 설정(Maven 설정)
<!-- Ajax jQuery -->
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib-ext-spring</artifactId>
<version>1.0.2</version>
<exclusions>
<exclusion>
<artifactId>servlet-api</artifactId>
<groupId>javax.servlet</groupId>
</exclusion>
</exclusions>
</dependency>
2. action-servlet.xml 설정
<!-- jsonView -->
<bean id="jsonView" class="net.sf.json.spring.web.servlet.view.JsonView" >
<property name="contentType" value="application/json;charset=UTF-8"></property>
</bean>
3. Controller 설정
@RequestMapping(value = "/biz/mkform/mkFormListJson.do")
public ModelAndView selectMkFormListJson(CommandMap commandMap) throws Exception {
ModelAndView mav = new ModelAndView("jsonView");
Map<String,Object> resultMap = mkFormService.selectUserTableList(commandMap.getMap());
mav.addObject("resultMap", resultMap);
return mav;
}
4. jsp 설정
jQuery.ajax({
type:'POST',
url:'/biz/mkform/mkFormListJson.do',
data:'',
async:false,
dataType:'json',
success:function(data){
document.getElementById("wow").innerHTML = data.
resultMap;
},
error:function(request,status,error){
alert('[' + request.status + '] 에러가 발생하였습니다.');
}
});
※ 2. action-servlet.xml 설정에서 "net.sf.json.spring.web.servlet.view.JsonView" 대신 "org.springframework.web.servlet.view.json.MappingJacksonJsonView"를 사용해도 동일하게 동작된다.
차이점으로는 정렬순서와 null을 null로 처리할지 ""으로 처리할지 정도라는데 조금 더 자세한 사항은 검색!