springmvc中@ResponseBody心得

问题:ajax调后台方法的得不到后台的返回值。

解决方案:在后台方法前边加上注解@ResponseBody

问题:后台返回值是return "redirect:/admin/user/adminList.do";并不跳转,是在空白页面显示了这句话

解决方案:去掉后台方法上注解@ResponseBody

因为工作中遇到了@ResponseBody,所以特意学习了解一下@ResponseBody

  • @RequestBody 将HTTP请求正文转换为适合的HttpMessageConverter对象。
  • @ResponseBody 将内容或对象作为 HTTP 响应正文返回,并调用适合HttpMessageConverter的Adapter转换对象,写入输出流
  • 一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。
  • ResponseBody 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。

使用时机:

      返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;

原文地址:https://www.cnblogs.com/maoyizhimi/p/6676597.html