zoukankan      html  css  js  c++  java
  • springmvc之ResponseBody响应json数据

    springmvc之ResponseBody响应json数据

    该注解用于将 Controller 的方法返回的对象,通过 HttpMessageConverter 接口转换为指定格式的数据如:json,xml 等,通过 Response 响应给客户端

    示例

    需求:使用@ResponseBody 注解实现将 controller 方法返回对象转换为 json 响应给客户端。

    前置知识点:Springmvc 默认用 MappingJacksonHttpMessageConverter 对json数据进行转换,需要加入jackson 的包。

    注:2.7.0以下的版本用不了

    jsp代码

    <!-- 测试异步请求 --> 
    <input type="button" value="测试ajax请求json和响应json" id="testJson"/>
    
    <script type="text/javascript"src="${pageContext.request.contextPath}/js/jquery.min.js"></script> 
    <script type="text/javascript">
    $(function(){
    	$("#testJson").click(function(){
            $.ajax({
                type:"post",
                url:"${pageContext.request.contextPath}/testResponseJson",
                contentType:"application/json;charset=utf-8",
                data:JSON.stringify({"id":1,"name":"test","money":999.0}),
                dataType:"json",
                success:function(data){
                	alert(data);
    			}
    		});
    	});
    })
    </script>
    

    控制器代码

    /**
    * 响应 json 数据的控制器
    * @author 黑马程序员
    * @Company 
    * @Version 1.0
    */
    @Controller("jsonController")
    public class JsonController {
        /**
        * 测试响应 json 数据
        */
    	@RequestMapping("/testResponseJson")
    	public @ResponseBody Account testResponseJson(@RequestBody Account account) {
            System.out.println("异步请求:"+account);
            return account; 
    	} 
    }
    

    配置json转换器

    如果不使用注解驱动<mvc:annotation-driven />,就需要给处理器适配器配置json转换器

    在springmvc.xml配置文件中,给处理器适配器加入json转换器:

    <!--处理器适配器 -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters">
        	<list>
        		<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
        	</list>
        </property>
    </bean>
    
    记得快乐
  • 相关阅读:
    mac 使用指南
    客服系统引用方案
    CSS中margin和padding的区别
    NuGet学习笔记(1)——初识NuGet及快速安装使用
    百度搜索这些词:(百度搜索特效,好玩)
    sql语言:如何查询字符串某个字符的个数?
    Sql日期时间格式转换
    SQL获取当前时间(日期)
    Redis快速入门:初识Redis
    选择Key-Value Store
  • 原文地址:https://www.cnblogs.com/Y-wee/p/13840563.html
Copyright © 2011-2022 走看看