1、导包
2、jsp页面
json格式数据和json字符串是不一样的,这里使用的是json字符串
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SpringMVC传递son数据</title>
<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script>
<script type="text/javascript">
alert("success");
var params = '{"id":1,"name":"测试商品","price":99.9,"detail":"测试商品描述","pic":"123456.jpg"}';
$.ajax({
url:"${pageContext.request.contextPath }/json.action",
data:params,
traditional:true,
type:"POST",
contentType:"application/json;charset=UTF-8",
dataType:"json",
success:function(data){
alert(data.id+"---"+data.name+"---"+data.price);
},
error:function(XMLHttpRequest, textStatus, errorThrown){
alert(textStatus);
}
});
</script>
</head>
<body>
SpringMVC传递son数据
</body>
</html>
3、controller书写
传来的数据为json字符串,SpringMVC会转换为对象;返回值为对象,SpringMVC会转换为json
//json数据传输
@RequestMapping(value = "/json.action")
public @ResponseBody Items json(@RequestBody Items item) {
return item;
}
4、xml配置json转换器
如果不使用注解驱动<mvc:annotation-driven />,就需要给处理器适配器配置json转换器
springmvc.xml:处理器适配器加入json转换器
<!--处理器适配器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
</list>
</property>
</bean>