===============EasyUIDatagrid 分頁====================
EasyUIDatagrid 需要提供的JSon格式為:total和rows,所以我們只需要在后台中返回一個JSon格式為total和rows
//定義一個EasyUIDatagridResult 類來包裝JSon數據
public class EasyUIDatagridResult {
private long total; //返回JSon中的total值
private List<?> rows; //返回JSon中的rows值
public long getTotal() {
return total;
}
public void setTotal(long total) {
this.total = total;
}
public List<?> getRows() {
return rows;
}
public void setRows(List<?> rows) {
this.rows = rows;
}
}
/**
service層
* 分頁查詢商品
*/
@Override
public EasyUIDatagridResult findByPage(Integer page, Integer rows) {
// 分頁查詢
PageHelper.startPage(page, rows);
TbItemExample example = new TbItemExample();
// 查詢到的數據
List<TbItem> list = itemMapper.selectByExample(example);
// 調用EasyUIDataGridResult 返回一個結果集
EasyUIDatagridResult result = new EasyUIDatagridResult();
PageInfo<TbItem> pageInfo = new PageInfo<>(list);
// total和rows都是EasyUIDatagrid后台需要用到的
result.setTotal(pageInfo.getTotal());
result.setRows(list);
return result;
}
//controller層
@RequestMapping("/item/list")
@ResponseBody
public EasyUIDatagridResult list(Integer page, Integer rows) {
//查詢並返回
EasyUIDatagridResult result = iTbItemService.findByPage(page, rows);
return result;
}
需注意:EasyUI的Datagrid傳遞到后台的page和rows和后台向頁面傳遞的total和rows的含義:
1.EasyUI的Datagrid傳遞到后台的page代表當前頁 ,rows多少行
2.后台向頁面傳遞的total代表數據的總數,類似於:select count(*)from XX 。rows表示返回的數據 List<?> data.