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 ...
随机推荐
- ue4 c++学习推荐
我由易到难推荐,不过在此之前还是先看看官方对于VS设置的推荐: https://docs.unrealengine.com/latest/INT/Programming/Development/Vis ...
- elasticsearch-1.3.0 之索引代码粗略梳理
elasticsearch-1.3.0 发送请求 创建 [root@centos ~]# curl -XPUT 172.16.136.159:9200/customer?pretty { " ...
- bzoj 4327: JSOI2012 玄武密码
听说这题不公开.. 那就不贴题意了 一眼看上去还以为是exkmp的裸题.. 看了数据范围,呵呵.. 多串匹配嘛.. 就用AC自动机咯,而且每个点最多也就只有$4$个孩子 用原串在AC自动机上走,碰到的 ...
- 关于这个博客以及C++入门该懂的一些东西
给三牧中学c++入门的同学们看的博客. 大概是入门一类的?说不定会写点自己的结题报告. 写的不好/写错了别怪我,蒟蒻瑟瑟发抖. 天哪要开始写入门了我好慌那么接下来是编译器连接. (本蒟蒻喜欢用DEV ...
- 使用QQ邮箱发送email(Python)
实际开发过程中使用到邮箱的概率很高,那么如何借助python使用qq邮箱发送邮件呢? 代码很简单,短短几行代码就可以实现这个功能. 使用到的模块有smtplib和email这个两个模块,关于这两个模块 ...
- 第二章 Matlab面向对象编程基础
DeepLab是一款基于Matlab面向对象编程的深度学习工具箱,所以了解Matlab面向对象编程的特点是必要的.笔者在做Matlab面向对象编程的时候发现无论是互联网上还是书店里卖的各式Matlab ...
- 转行|如何成为企业想要的Android工程师
没经验 一来没钱 二来没时间 三来投简历没人要 四来就算忽悠进去了,也做不了,亚历山大,迟早被踢 1.做好手上的工作 不要裸辞 忌讳心猿意马的心态,当有两个选择的时候,往往 所以要专注于当下手头上唯一 ...
- xcode 一般插件
插件编写 xcode的插件不算多,找遍了网络也就大猫小猫而三只.不过虽然不多,但是大部分的插件都非常有用.以下5歀插件是我几台机器上都安装了并且经常使用的. 1. MiniXcode MiniXcod ...
- C++ activemq CMS 学习笔记.
很早前就仓促的接触过activemq,但当时太赶时间.后面发现activemq 需要了解的东西实在是太多了. 关于activemq 一直想起一遍文章.但也一直缺少自己的见解.或许是网上这些文章太多了. ...
- mysql获取自增长插入行的ID
insert into {14}.SEGMENT(CODE_STARTPOINTID,CODE_STARTFIR,CODE_TYPE_START,CODE_ENDPOINTID,CODE_ENDFIR ...