Spring MVC返回json数据的配置方式
来源:互联网 发布:软件测试的基础理论 编辑:程序博客网 时间:2024/06/05 11:21
Spring MVC返回json数据的方式有以下几种:
(1)直接 PrintWriter 输出
(2)使用 JSP 视图
(3)使用Spring内置的支持
本文说明的是使用Spring内置的功能。
以下为3.1之前的配置:
- <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
- <property name="messageConverters">
- <list>
- <bean
- class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />
- </list>
- </property>
- </bean>
spring mvc 3.1之后使用RequestMappingHandlerMapping和RequestMappingHandlerAdapter
替代了原有的DefaultMethodHandlerMapping和 AnnotationMethodHandlerAdapter。
所以,3.1的返回json配置可以使用如下配置:
- <bean
- class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"
- p:ignoreDefaultModelOnRedirect="true" >
- <property name="messageConverters">
- <list>
- <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>
- </list>
- </property>
- </bean>
// WEB-INF/lib 中添加
jackson-mapper-asl-1.6.4.jar
jackson-core-asl-1.6.4.jar
// Controller 中 使用:@ResponseBody 标注方法,该方法返回Java对象(支持复杂对象),
如:
@ResponseBody
- public User getUser(User u){
- return u;
- {color:black}}
MappingJacksonHttpMessageConverter 会将对象转换为 JSON 输出
注意:当springMVC-servlet.xml中使用<mvc:annotation-driven />时,如果是3.1之前已经默认注入AnnotationMethodHandlerAdapter,3.1之后默认注入RequestMappingHandlerAdapter,只需加上上面提及的jar包即可!
注意:默认情况下MappingJacksonHttpMessageConverter 会设置content为application/json,在IE9下返回会出现提示下载的现象,出现这种情况可以手动指定头信息为"text/html",或者"/"(所有,不确定就设置为这个)。如果是手动注入RequestMappingHandlerAdapter 可以这样设置
- <bean
- class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"
- p:ignoreDefaultModelOnRedirect="true">
- <property name="messageConverters">
- <list>
- <bean
- class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"
- p:supportedMediaTypes="/" />
- </list>
- </property>
- </bean>
如果是采用mvc:annotation-driven标签 可以这样注入信息
- <mvc:annotation-driven>
- <mvc:message-converters register-defaults="true">
- <bean
- class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"
- p:supportedMediaTypes="/" />
- </mvc:message-converters>
- </mvc:annotation-driven>
- Spring MVC返回json数据的配置方式
- spring mvc 返回json格式数据的方式
- Spring MVC返回json数据的几种方式
- spring mvc返回json数据的三种方式
- Spring MVC 返回 xml json pdf 数据的配置方法
- spring mvc返回json字符串的方式
- Spring MVC返回json数据的方法
- Spring MVC返回json数据的方法
- spring mvc返回json 类型的 数据
- Spring MVC返回JSON格式的数据
- Spring MVC返回JSON格式的数据
- spring mvc 返回json的配置
- spring mvc 返回json字符串的配置
- spring mvc 返回json的配置
- spring mvc 返回通过配置ResponseBody返回json格式的数据
- spring mvc json数据返回
- Spring MVC返回JSON数据
- Spring MVC返回JSON数据
- 实战activeMQ
- Java支持的数据类型有哪些?什么是自动拆装箱?
- 《python 基础教程》第四章 字典:当索引不好用时
- Linux 学习笔记 2016年3月2日, PM 10:01:30
- jdk安装变量设置
- Spring MVC返回json数据的配置方式
- Javascript中的陷阱大集合
- 待重写
- OpenCV中的三种图像数据结构CvMat,IplImage和Mat(一)CvMat
- 1192: [HNOI2006]鬼谷子的钱袋
- redis
- BZOJ-3225 立方体覆盖 线段树+扫描线+乱搞
- 第一行代码-13.2 使用Intent传递对象
- 将网页添加至阅读列表——SSReadingList