接收/返回JSON数据
1.首先需要引入依赖的jar包
<!--引入json的依赖-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.0</version>
</dependency>
2.在页面中引入外部资源文件,例如js
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.min.js"></script>
3.在springmvc.xml中设置对静态资源放行
<!--对静态资源放行
把js下的静态资源映射到js目录下
-->
<mvc:resources mapping="/js/*" location="/js/"></mvc:resources>
4.编写页面请求,example如下(这个例子是将页面参数传递到控制层):
<script type="text/javascript">
function execute() {
$.ajax({
url: "${pageContext.request.contextPath}/json/testResponseJson",/*请求路径*/
data: {"username":"zhangsan","age":18},/*提交数据*/
type: "post",/*提交方式*/
dataType: "json",/*返回数据类型*/
success: function (data) {
//alert(data);/*请求成功的回调函数*/
}
});
};
</script>
5.编写控制类
a:如果是要获取字符串数据,那么就在参数位置加上注解@requestBody,这样获取到的参数就是一个字符串
@RequestMapping("/testRequestJson2")
public String testRequestJson2(@RequestBody String body) {
System.out.println(body);//username=zhangsan&age=18
return "show";
}
b:如果要返回到页面中的数据时json数据,那么就在方法上加上注解@ResponseBody,这样页面中获取到的就是json数据 @RequestMapping("/testResponseJson")
@ResponseBody
public List<User> testResponseJson() {}