亂碼問題
在學習datagrid表格時,從後臺獲取數據.
要從數據庫中獲取數據後,要放入JSON中.
JSON的格式如下:
{"total":12,
"rows":[
{"id":1,"email":"[email protected]","age":18,"name":"小明","dept":1},
{"id":2,"email":"[email protected]","age":25,"name":"小李","dept":2},
{"id":3,"email":"[email protected]","age":21,"name":"夏紅","dept":3},
{"id":4,"email":"[email protected]","age":45,"name":"王宏","dept":1},
{"id":5,"email":"[email protected]","age":22,"name":"杜拉拉","dept":2},
{"id":6,"email":"[email protected]","age":35,"name":"王偉","dept":3},
{"id":7,"email":"[email protected]","age":24,"name":"李斯特","dept":1},
{"id":8,"email":"[email protected]","age":26,"name":"劉備","dept":2},
{"id":9,"email":"[email protected]","age":41,"name":"王明","dept":3},
{"id":10,"email":"[email protected]","age":42,"name":"李磊","dept":1},
{"id":11,"email":"[email protected]","age":38,"name":"杜明","dept":2},
{"id":12,"email":"[email protected]","age":29,"name":"趙光義","dept":3}]
}
其中total爲總記錄數(注:是所有數據的記錄數,這個屬性會影響到分頁功能,而不是當前獲取到的list的數量)
rows爲具體的內容,這是一個json數組,數組中的每條json都是一條記錄.
json.toString()返回到前臺.
兩種方式,一種就是通過註解@@ResponseBody,用return直接返回就行
另一種就是 方法中加一個參數PrintWriter out,然後就 out.write(json.toString());
前臺也可以接收到
另外,如果json中有中文,前臺會產生亂碼.
這時我們就要設置一個屬性,就是上圖綠色圈子圈出來的produces={"application/json;charset=utf-8"}
這樣就OK了
頁碼問題
在JS文件中,設置pagination屬性,就可以開啓分頁插件
這裏要提出的是,這裏的分頁插件,也僅僅是前臺的分頁插件,其中的各種按鈕也都是往後臺傳參數,具體的分頁後的數據也是需要根據參數來從數據庫中獲取的
通過瀏覽器的開發者工具可查看到,每次點擊按鈕,都會向後臺傳兩個參數,page和rows
page爲當前頁數,rows爲每頁顯示的記錄數.
後臺是可以接收到這兩個參數的,如下圖
在service層就可以利用這兩個參數,然後再配合 PageHelper 插件 就可以輕鬆的進行分頁操作了.