@ResponseBody註解的作用是將controller的方法返回的對象 通過適當的轉換器 轉換為指定的格式之後,寫入到response對象的body區(響應體中),通常用來返回JSON數據或者是XML。 數據,需要註意的呢,在使用此註解之後不會再走視圖處理器,而是直接將數據寫入到輸入流中,它的 ...
@ResponseBody註解的作用是將controller的方法返回的對象 通過適當的轉換器 轉換為指定的格式之後,寫入到response對象的body區(響應體中),通常用來返回JSON數據或者是XML。
數據,需要註意的呢,在使用此註解之後不會再走視圖處理器,而是直接將數據寫入到輸入流中,它的效果等同於通過response對象輸出指定格式的數據。
這裡還要著重強調一下,要通過@ResponseBody 註解 將返回的json字元串放入響應體中,然後在前臺js才能拿到json字元串進行解析,如果不加,響應體中就沒有放入json字元串,前臺自然是拿不到數據的,希望大家別理解錯。
@RequestMapping("/前端路徑")
@ResponseBody
public 返回值類型 方法名(實體 形參){
return 形參;
}
實體中含有:實體變數1 實體變數2;
那麼在前臺接收到的數據為:'{"實體變數1":"xxx","實體變數2":"xxx"}'
效果等同於如下代碼:
@RequestMapping("/前端路徑")
public void 方法名(實體 形參, HttpServletResponse response){
//通過response對象輸出指定格式的數據
response.getWriter.write(JSONObject.fromObject(形參).toString());
}