现在多数的应用为了提高交互性多使用异步刷新,即在不刷新整个页面的情况下,只刷新局部,局部刷新用得最多就是ajax,ajax和后台进行交互的数据格式使用的最多的是JSON,这里简单描述,在springmvc的开发架构下如何返回JSON串。这里使用两种方式进行配置,一:fastjson;二、jackson

一、fastjson

fastson是阿里巴巴开源的一个json转化jar包,在springmvc的架构下药使用这种方式,需引入其jar包:fastjson-1.1.34.jar,这里使用的是1.1.34的版本,这里的环境是已经搭建好springmvc的开发环境,下面是在springmvc的配置文件中配置fastjson的配置文件,

<!--使用fastjson的方式-->

		<bean id="fastjson" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">

			<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>

  配置了一个bean,指定了其class的属性,且配置了属性;我们要向前台返回json,需要使用springmvc的注解@ResponseBody,所以在配置文件中需要开启mvc的注解驱动,

<!--开启mvc的注解驱动 ,可以使用@RequestParam、@ResponseBody等注解-->
<mvc:annotation-driven/>

  然后我们看Controller是如何写的

@RequestMapping("my2/{courseId}/{name}")
@ResponseBody
public Map<String,String> method2(@PathVariable("courseId") String courseId,@PathVariable("name") String name){
HashMap<String,String> map=new HashMap<String,String>();
map.put("name", "刘晓燕");
map.put("sex", "女");
map.put("age", "23")
return map;
}

此方法在Controller中,在方法上添加了@ResponseBody注解,方法的返回值是一个Map,通过这种方式就你可以向前端返回JSON对象,为什么我们返回的一个Map对象到了前台就是JSON对象了,因为我们在配置文件中配置了基于fastjson的bean(bean的id为fastjson),fastjson就可以为自动把map对象转化为json对象返回到前台。

前台的ajax请求这里不再给出,和一般的ajax是一样的,在回调函数中直接使用json对象即可。

二、jackson

jackson是另外一种把java对象转化为json对象的jar包,要使用此种方式需要引入以下三个jar包:jackson-annotations-2.6.0-rc4.jar、jackson-core-2.6.0-rc4.jar、jackson-databind-2.6.0-rc4.jar,这里使用的最新的jackson的jar包,下面是在配置文件中的配置,

<!--spring4中返回json串的配置方式-->
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="jsonHttpMessageConverter" />
</list>
</property>
</bean>

<!--配置jackson的bean,这里使用的spring4中的配置-->
<bean id="jsonHttpMessageConverter"
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />

配置了jackson的bean,这里的环境是spring4的环境,所以这里需要配置的class为,

org.springframework.http.converter.json.MappingJackson2HttpMessageConverter

如果是spring3的话,那么应该使用下面的class配置,

org.springframework.http.converter.json.MappingJacksonHttpMessageConverter

其他的都和spring4的环境保持不变,controller的代码都保持不变。

以上是在srpingmvc环境下两种jar包返回json对象的配置方式,其关键在于配置文件中的配置。

有不正之处欢迎指出!谢谢!

spring入门(七)【springMVC返回json串】的更多相关文章

  1. 【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展

    <Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...

  2. 【Spring学习笔记-MVC-4】SpringMVC返回Json数据-方式2

    <Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...

  3. 【Spring学习笔记-MVC-3】SpringMVC返回Json数据-方式1

    <Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...

  4. springmvc 1.接受日期类型的参数 2.后台返回json串的格式处理(返回json串null值处理为"")

    springmvc中的配置: <bean id="dateConvert" class="com.iomp.util.DateConvert"/> ...

  5. SpringMVC返回JSON数据时日期格式化问题

    https://dannywei.iteye.com/blog/2022929 SpringMVC返回JSON数据时日期格式化问题 博客分类: Spring   在运用SpringMVC框架开发时,可 ...

  6. Spring MVC 3.0 返回JSON数据的方法

    Spring MVC 3.0 返回JSON数据的方法1. 直接 PrintWriter 输出2. 使用 JSP 视图3. 使用Spring内置的支持// Spring MVC 配置<bean c ...

  7. Python3.x:访问带参数链接并且获取返回json串

    Python3.x:访问带参数链接并且获取返回json串 示例一: import json import xml.dom.minidom from urllib import request, par ...

  8. SpringMVC返回Json,自定义Json中Date类型格式

    http://www.cnblogs.com/jsczljh/p/3654636.html —————————————————————————————————————————————————————— ...

  9. spring boot 解决后台返回 json 到前台中文乱码之后出现返回json数据报错 500:no convertter for return value of type

    问题描述 spring Boot 中文返回给浏览器乱码 解析成问号?? fastJson jackJson spring boot 新增配置解决后台返回 json 到前台中文乱码之后,出现返回json ...

随机推荐

  1. C语言 · 动态数组的使用

    从键盘读入n个整数,使用动态数组存储所读入的整数,并计算它们的和与平均值分别输出.要求尽可能使用函数实现程序代码.平均值为小数的只保留其整数部分. 样例输入: 5 3 4 0 0 2样例输出:9 1样 ...

  2. MVC validate.js下使用 ajaxSubmit

    首页定义验证实体 using System.ComponentModel.DataAnnotations; using System.Web.Mvc; namespace MvcApplication ...

  3. 导入镜像文件,分区启动liunx

    1:更改虚拟机配置 2:导入系统镜像 3:启动虚拟机,选择第一个选项回车 4:这里问你是否检查镜像,我们的镜像肯定没问题不需要检查,点击Skip 5:语言选择,按提示默认下一步 6:主机名也默认 7: ...

  4. Spring学习记录(二)---容器和bean属性配置

    下载spring包,在eclipse搭建spring环境. 这步我在eclipse中无法导入包,看网上的: http://sishuok.(和谐)com/forum/blogPost/list/242 ...

  5. jdk1.7.0_80源码包结构

    解压源码src.zip,jdk源码结构如下所示: src |--com.sun    sun公司对jdk的实现,Oracle官方不支持,不保证跨平台(可能一些类linux有而windows没有),甚至 ...

  6. mfc的OnInitDialog的返回值

    以前从未注意过初始化函数的返回值,今天看到书中所述,以后可能用得上. OnInitDialog的返回值告诉windows如何处置输入焦点,如果返回 TRUE,则windows将输入焦点指派给制表键控制 ...

  7. LINQ系列:LINQ to SQL Select查询

    1. 查询全部字段 using (NorthwindContext context = new NorthwindContext()) { var expr = context.Products; f ...

  8. invalidate()和postInvalidate() 的区别及使用

    Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中 ...

  9. ASP.NET Core的配置(4):多样性的配置来源[上篇]

    较之传统通过App.config和Web.config这两个XML文件承载的配置系统,ASP.NET Core采用的这个全新的配置模型的最大一个优势就是针对多种不同配置源的支持.我们可以将内存变量.命 ...

  10. 用Canvas+Javascript FileAPI 实现一个跨平台的图片剪切、滤镜处理、上传下载工具

    直接上代码,其中上传功能需要自己配置允许跨域的文件服务器地址~ 或者将html文件贴到您的站点下同源上传也OK. 支持: 不同尺寸图片获取. 原图缩小放大. 原图移动. 选择框大小改变. 下载选中的区 ...