@ResponseBody能夠標註在方法上也能夠標註在類上面。簡單來講,當標註在方法上時,該方法的返回結果直接轉成JSON格式;當標註在類上時,該類中的全部方法的返回結果都轉換成JSON格式。html
代碼示例以下:前端
前端的異步請求使用JQuery的ajax方法jquery
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> </script> <script> $.ajax({ url:"/testxxx", success:function(result){ $("#div1").html(result); } }); </script>
服務器端Controller類ajax
標註在方法上,返回值類型爲String類型服務器
@RequestMapping("/teststr") @ResponseBody public String getStr(){ return "hello"; }
訪問結果app
返回值類型爲集合類型異步
@RequestMapping("/testlist") @ResponseBody public List getList(){ List<String> list = new ArrayList<String>(); list.add("aaa"); list.add("bbb"); list.add("ccc"); return list; }
返回結果url
返回值類型爲Map類型spa
@RequestMapping("/testmap") @ResponseBody public Map<Integer,String> getMap(){ Map<Integer,String> map = new HashMap<Integer, String>(); map.put(1,"aaa"); map.put(2,"bbb"); map.put(3,"ccc"); return map; }
返回結果code
返回值類型爲POJO類型
Student類
public class Student { private String name; private int age; //getter和setter方法 }
Controller類
@RequestMapping("/getstu") @ResponseBody public Student getStu(HttpServletResponse response){ Student stu = new Student(); stu.setName("Tom"); stu.setAge(20); return stu; }
返回結果