在web项目中使用Json进行数据的传输是非常常见且有用的,在这里介绍下在SpringMVC中使用Json传数据的一种方法,在我的使用中,主要包括下面四个部分(我个人喜好使用maven这类型工具进行项目构建):
1、引入依赖Jar包 在POM.
<dependency> <groupId>com.faster</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); }
原标题:SpringMVC中使用Json传数据
关键词:JS