Springmvc ResponseBody Springmvc ResponseBody响应json数据实现过程
Y_wee 人气:0想了解Springmvc ResponseBody响应json数据实现过程的相关内容吗,Y_wee在本文为您仔细讲解Springmvc ResponseBody的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点: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 http://www.ithiema.com * @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>
加载全部内容