2013. 11. 6. 16:36 COMPUTER/JAVA, JSP
[SPRING,JAVA] 프레임워크에 Ajax사용을 위한 JsonView 설정하기, Spring Framework JsonView Ajax Sample

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

예제는 전자정부 프레임웤으로 했습니다.

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

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


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>

DispatcherServlet XML 설정파일
<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>

web.xml
<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>

TestController.java
@RequestMapping("/test.do")
public String test(@ModelAttribute("searchVO") CommentVO commentVO, ModelMap model) throws Exception {
	return "test/test";
}

@RequestMapping("/test.ajax")
public ModelAndView testAjax(@ModelAttribute("searchVO") CommentVO 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;
}

test.jsp
<script type="text/javascript">
<!--

$.post("${pageContext.request.contextPath}/test.ajax",
	{
		test1: "1111",
		test2: "2222"
	},
	function(data) {
		alert("result: " + data);
	}
);

-->
</script>




END


최근에 올라온 글

최근에 달린 댓글