반응형

[SPRING,JAVA] 프레임워크에 Ajax사용을 위한 JsonView 설정하기, Spring Framework JsonView Ajax Sample


JSON뷰를 이용하여 AJAX를 사용할 수 있게 설정하는 방법이다


예제는 전자정부 프레임워크로 설정했다


사실 pom.xml과 dispatcher에는 기본적으로 등록되어있었다


다른 스프링기반 프레임웤들은 직접 추가해주시면 된다



pom.xml


1
2
3
4
5
6
7
8
9
10
11
12
<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>
cs



dispatcher-servlet.xml


1
2
3
4
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver" id="viewResolver" p:order="0"/>
<bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" id="jsonView">
    <property name="contentType" value="application/json;charset=UTF-8"/>
</bean>
cs



web.xml


1
2
3
4
5
6
7
8
<servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.ajax</url-pattern>
</servlet-mapping>
cs


Controller.java


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@RequestMapping("/test.do")
public String test(@ModelAttribute("VO") CommentVO commentVO, ModelMap model) throws Exception {
    return "test/test";
}
 
@RequestMapping("/test.ajax")
public ModelAndView testAjax(@ModelAttribute("VO") CommentVO commentVO, ModelMap model) throws Exception {
 
    ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
    Map resultMap = new HashMap();
    resultMap.put("result1""1");
    resultMap.put("result2""2");
 
    return modelAndView;
}
cs



test.jsp


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script type="text/javascript">
<!--
 
$.post("${pageContext.request.contextPath}/test.ajax",
    {
        test1: "1111",
        test2: "2222"
    },
    function(data) {
        alert("result: " + data);
    }
);
 
-->
</script>
cs



컨트롤러에서 jsonView 설정을 setView 해주는것을 빼먹어서 삽질했었다

출처 : http://blog.nachal.com/790

반응형

+ Recent posts