SpringMVC中@ResponseBody轉JSON

在SpringMVC中可以利用@ResponseBody,將一個對象轉換成JSON返回給客戶端。當然,這需要配置

(本示例Spring版本是3.1.1)

①引入jackson的包,如jackson-all-1.7.6.jar

②在applicationContext.xml配置JSON轉換器

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-2.5.xsd
           http://www.springframework.org/schema/aop
           http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
           http://www.springframework.org/schema/tx
           http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
	<context:component-scan base-package="edu.njcit"></context:component-scan>
	<context:annotation-config />
	<bean
		class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
		<property name="messageConverters">
			<list>
				<ref bean="mappingJacksonHttpMessageConverter" /><!-- json轉換器 -->
			</list>
		</property>
	</bean>
	<bean id="mappingJacksonHttpMessageConverter"
		class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />
</beans>

注:Spring的集成(在web.xml中通過配置監聽器):

    <context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:applicationContext.xml</param-value>
	</context-param>
	<!-- 集成spring,並對Spring進行實例化 ,這個類會讀取上面指定的配置文件:applicationContext.xml-->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

③測試Controller

@Controller
@RequestMapping("/user")
@SessionAttributes("loginUser")
public class UserController {
	
	@RequestMapping(value="/json",method=RequestMethod.POST)
	@ResponseBody
	public List<User> json() {
		List<User> list=new ArrayList<User>();
		User user=new User("ldh","劉德華","123","123123");
		User user2=new User("zxy","張學友","123","123123");
		list.add(user);
		list.add(user2);
		return list;
	}
	
}

④前臺JSP頁面測試代碼:

<script type="text/javascript">
$(function(){
	$.ajax({
		type : "POST",
		url : "<c:url value='/user/json'/>",
		dataType : 'json',
		data : {
			"pcase" : "test"
		},
		success : function(data) {
			console.info(data);
		}
	});	
	
});
</script>

最後效果如下:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章