1. 程式人生 > >Java中@ResponseBody直接轉換json

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

(UumLogincheck uumLogincheck,Pagination pagination) throws Exception{

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

 Pagination findUserPageInfo(UumLogincheck uumLogincheck,Pagination pagination) throws Exception{
uumLogincheckService.findUserPageInfo(uumLogincheck,pagination);
return pagination; 
}