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>
    
    记得快乐
  • 相关阅读:
    耗时很长的服务器端事件中让客户端得到中间过程信息的合理解决方案(续)
    复杂一点的查询
    耗时很长的服务器端事件中让客户端得到中间过程信息的合理解决方案
    PET SHOP 4.0 初学者分析(项目分解)
    TSQL学习笔记(索引贴)
    存储过程和用户自定义函数
    c#简单的音乐播放器,支持多种格式,可扩展性强
    图片的无级缩放和无级截取(js+.net)
    在线部署web项目(适用于较大型项目)
    约束
  • 原文地址:https://www.cnblogs.com/Y-wee/p/13840563.html
Copyright © 2011-2022 走看看