spring4mvc返回json(bean,list,map)
因为spring3和spring4的mvc在前端返回json所需要的jar包不一样,所以索性写一篇关于spring4mvc在前端返回json的博文。
首先,新建一个web项目,项目格式如图所示:

convertJsonAction:springmvc的action类
inde.jsp:有三个按钮,分别返回bean,list和map对应的json
然后是引入的library:分别是spring-core,spring-mvc,spring-web,spring4mvc-jackson
tips:spring4的mvc引入的jackson跟spring3的mvc引入的jar包不一样!!!不一样!!!!
spring-core:

spring-mvc:

spring-web:

spring4mvc-jackson:

接着是配置web.xml
因为springmvc是servelet,所以在web.xml中配置的就是一个servlet,在web.xml中添加如下代码
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<!-- 将配置对应的springmvc文件设置在src根目录下 -->
<param-value>classpath:springmvc.xml</param-value>
</init-param> </servlet> <servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
然后在src下面新建一个叫springmvc的xml文件,文件内容如图所示:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
"> </beans>
接着我们在ConvertJSonAction.java类中添加一个方法:
package com.mz.json; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; /**
* controller指明这是一个springmvc的action类
* requestMapping是总的路径,所有访问这个action类中的方法必须通过/convert
* @author asus
*
*/
@Controller
@RequestMapping("/convert")
public class ConvertJsonAction {
//responseBody是指返回的User是一个json对象(也可以是string或者xml对象)
@RequestMapping("/bean2json")
public @ResponseBody User bean2json() {
User user = new User();
user.setId(1);
user.setUsername("Irasel");
return user;
}
}
这是action的处理类,接着我们在springmvc中配置开启mvc的annotation和扫描标签:
<mvc:annotation-driven />
<context:component-scan base-package="com.mz.json"></context:component-scan>
index.jsp中添加三个按钮,每一个按钮分别对应的返回一个bean对象的json,list对象的json和map对象的json:
<!-- 点击返回一个bean对象的json -->
<input type="button" value="bean2json"><br/>
<!-- 点击返回一个list对象的json -->
<input type="button" value="list2json"> <br/>
<!-- 点击返回一个map对象的json -->
<input type="button" value="map2json"><br/>
使用jquery的异步传输:
$(':button:first').click(function(){
var url = 'convert/bean2json.action';
var arg =null;
$.post(url,arg,function(returnData){
console.log(returnData);
});
});
效果如图所示:

接着是list和map的方法(不再粘贴效果图了,反正都差不多)
@RequestMapping("/list2json")
public @ResponseBody List<User> list2Json() {
List<User> users = new ArrayList<User>();
User user1 = new User();
user1.setId(1);
user1.setUsername("Irasel");
User user2 = new User();
user2.setId(2);
user2.setUsername("路西法");
User user3 = new User();
user3.setId(3);
user3.setUsername("Micheal");
users.add(user1);
users.add(user2);
users.add(user3);
return users;
}
@RequestMapping("/map2json")
public @ResponseBody Map<String, Object> map2Json() {
List<User> users = new ArrayList<User>();
Map<String, Object> map = new HashMap<String, Object>();
User user1 = new User();
user1.setId(1);
user1.setUsername("Irasel");
User user2 = new User();
user2.setId(2);
user2.setUsername("路西法");
User user3 = new User();
user3.setId(3);
user3.setUsername("Micheal");
users.add(user1);
users.add(user2);
users.add(user3);
map.put("row", users.size());
map.put("users", users);
return map;
}
spring4mvc返回json(bean,list,map)的更多相关文章
- 配置SpringMVC返回JSON遇到的坑
坑一:官方网站下载地址不明朗,最后找了几个下载地址:http://wiki.fasterxml.com/JacksonDownload Jackson2.5下载地址:jackson2.5.0.jar ...
- Spring-MVC填坑之旅-返回json数据
本文是自己开发中所遇到的问题,对一些及百度到的解决方案做一个记录. DispatcherServlet配置文件 <!-- 定义跳转的文件的前后缀 ,视图模式配置--> <bean i ...
- java中 json和bean list map之间的互相转换总结
JSON 与 对象 .集合 之间的转换 JSON字符串和java对象的互转[json-lib] 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级 ...
- spring mvc返回json字符串数据,只需要返回一个java bean对象就行,只要这个java bean 对象实现了序列化serializeable
1.spring mvc返回json数据,只需要返回一个java bean对象就行,只要这个java bean 对象实现了序列化serializeable 2. @RequestMapping(val ...
- spring mvc返回json字符串的方式
spring mvc返回json字符串的方式 方案一:使用@ResponseBody 注解返回响应体 直接将返回值序列化json 优点:不需要自己再处理 步骤一:在spring- ...
- spring入门(七)【springMVC返回json串】
现在多数的应用为了提高交互性多使用异步刷新,即在不刷新整个页面的情况下,只刷新局部,局部刷新用得最多就是ajax,ajax和后台进行交互的数据格式使用的最多的是JSON,这里简单描述,在springm ...
- springMVC使用@ResponseBody返回json
json格式:{"totle":22,"rows":"sss"} map格式:{totle=22, rows=sss} 一.springMV ...
- 深入了解Struts2返回JSON数据的原理
首先来看一下JSON官方对于"JSON"的解释: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析 ...
- [转]SpringMVC使用@ResponseBody时返回json的日期格式、@DatetimeFormat使用注意
一.SpringMVC使用@ResponseBody时返回json的日期格式 前提了解: @ResponseBody 返回json字符串的核心类是org.springframework.http.co ...
随机推荐
- oracle(sql)基础篇系列(五)——PLSQL、游标、存储过程、触发器
PL/SQL PL/SQL 简介 每一种数据库都有这样的一种语言,PL/SQL 是在Oracle里面的一种编程语言,在Oracle内部使用的编程语言.我们知道SQL语言是没有分支和循环的,而PL语 ...
- C#开发笔记
Dictionary 检查后获取值:Dictionary.TryGetValue() KeyValuePair<T, K> 的非泛型形式:DictionaryEntry List 由ILi ...
- ubuntu server 搭建自己的个人博客及其他网站
一, 安装apache2服务器 sudo apt-get install apache2 二,安装mysql服务器 sudo apt-get install mysql-server 此时会提示输入M ...
- Access restriction: The type 'FileURLConnection' is not API
遇到这种报错,解决方案如下: 报错原因是访问限制报错 工具栏中Project>preferences>java-Compiler>Errors/Warnings>把右侧的[De ...
- 【UISegmentedControl】- 分段控件
一.初始化 二.常见的属性 1.segmentedControlStyle属性:设置基本的样式 2.momentary属性:设置在点击后是否恢复原样 . 3.numberOfSegments属性:只读 ...
- swift-func(函数)
函数是一个组织在一起语句集合,以执行特定任务. Swift 函数类似于简单 C 函数以及复杂的 Objective C 语言函数. 它使我们能够通过函数调用内部的局部和全局参数值. 像其他任何语言一样 ...
- AMD&CommonJS
最近在学习nodejs的KOA框架,在查资料的时候遇见了点问题,顺着信息一步一步找下去,让我了解了一下一直以来不是很明白的什么时候用AMD规范,什么时候用CommonJS规范问题. CommonJS一 ...
- ubuntu16.04 install flash
今天安装了一下flash,发现不同版本的Ubuntu复制的位置不同,此处介绍Ubuntu16.04的安装方式 1.首先下载flash,下载tar.gz的 2.解压缩到当前目录 3,打开terminal ...
- RequireJS与SeaJS模块化加载示例
web应用越变的庞大,模块化越显得重要,尤其Nodejs的流行,Javascript不限用于浏览器,还用于后台或其他场景时,没有Class,没有 Package的Javascript语言变得难以管理, ...
- java的值传递笔记
1. 背景:开发小伙伴突然问我java是值传递还是引用传递,我说当然是值传递,只不过有时候传递一个对象时实际传递的是对象的地址值,所以让人容易产生一种引用传递的假象,貌似在李刚的疯狂java讲义有提到 ...