Java中@ResponseBody直接轉換json
今天在寫傳輸資料時候發現訪問不到url
http://127.0.0.1:8888/qchatv2/findUserPageInfo.do?pagination.start=440&pagination.pageSize=10&pagination.jsonPageNo=1&pagination.pageNo=45 執行的時候發現404錯誤,發現在ajax執行的時候已經到action中執行資料後,將物件值傳入到jsp頁面的時候jsp接受不到值,
@RequestMapping("/findUserPageInfo.do")
public Pagination findUserPageInfo
return pagination;
}
這樣得到的結果pagination ,如圖
直接將物件返回不到jsp的必須要轉換為json格式
{"pageNo":45,"countNo":45,"pageSize":10,"jsonPageNo":1,"countSize":444,"start":440,"end":0,"resultList":[{"lcId":123,"uumRole":{"roleId":71,"roleName":"系統超級管理員","roleType":"public","roleDate":1375326222000,"roleLevel":1,"sysMenu":null}]}
ajax的data才能接收到值
最後查詢了下springmvc有個註解
@responsebody表示該方法的返回結果直接寫入HTTP response body中 一般在非同步獲取資料時使用,在使用@RequestMapping後,返回值通常解析為跳轉路徑,加上@responsebody後返回結果不會被解析為跳轉路徑,而是直接寫入HTTP response body中。比如非同步獲取json資料,加上@responsebody後,會直接返回json資料。
改為:
@RequestMapping("/findUserPageInfo.do")
public @ResponseBody
uumLogincheckService.findUserPageInfo(uumLogincheck,pagination);
return pagination;
}