在web项目中使用Json进行数据的传输是非常常见且有用的,在这里介绍下在SpringMVC中使用Json传数据的一种方法,在我的使用中,主要包括下面四个部分(我个人喜好使用maven这类型工具进行项目构建):
1、引入依赖Jar包
在POM.xml文件(或其他Maven的项目配置文件)中增加如下的依赖:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.7.5</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
2、启动SpringMVC注解与Json消息转换器
如下片段是在SpringMVC的配置文件中的:
<mvc:annotation-driven />
<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
3、JSP界面用Javascript异步请求
<script type="text/javascript">
function getInfo() {
$.ajax({
type: "POST",
dataType: "json",
url: "/ajax/getHtml",
success: function(map) {
$("input[name=getInfo]").after("<table>");
$.each(map, function(i, item) {
$("input[name=getInfo]").after(
"<tr><td>" + item.userName + "</td>" +
"<td>" + item.password + "</td></tr>");
});
$("input[name=getInfo]").after("</table");
},
error: function(ret) {
alert("加载失败");
}
});
}
</script>
4、控制器中执行请求
@ResponseBody //返回不是html之外的数据必须要有这个注解
@RequestMapping(value="/getHtml")
public ModelAndView getHtml() {
Map<String, User> map = new HashMap<String, User>();
User li=new User();
li.setUserName("Li");
li.setPassword("123");
User na=new User();
na.setUserName("Na");
na.setPassword("456");
map.put("1", li);
map.put("2",na);
return new ModelAndView(new MappingJackson2JsonView(),map);
}
Spring学习之第一个Spring MVC程序(IDEA开发环境) http://www.linuxidc.com/Linux/2016-06/132658.htm
SpringMVC总结篇 http://www.linuxidc.com/Linux/2016-06/132659.htm
Spring+SpringMVC企业快速开发架构搭建 http://www.linuxidc.com/Linux/2015-09/122942.htm
SpringMVC的乱码处理 http://www.linuxidc.com/Linux/2015-07/120542.htm
Spring MVC+Spring3+Hibernate4开发环境搭建 http://www.linuxidc.com/Linux/2013-07/87119.htm
Spring MVC整合Freemarker基于注解方式 http://www.linuxidc.com/Linux/2013-02/79660.htm
基于注解的Spring MVC简单介绍 http://www.linuxidc.com/Linux/2012-02/54896.htm
SpringMVC详细示例实战教程 http://www.linuxidc.com/Linux/2015-06/118461.htm
Spring MVC 框架搭建及详解 http://www.linuxidc.com/Linux/2012-01/52740.htm
SpringMVC 异常处理 http://www.linuxidc.com/Linux/2015-06/119049.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-08/134726.htm