后端,定义 的结构体, 不需要包含当前页, 起止行等,这些无用信息,
//复杂的分页结构体, 没必要
public class PageQuery {
/**
*返回结果总数
*/
private int total;
/**
*返回结果集
*/
@SuppressWarnings("rawtypes")
private List rows;
/**
*返回结果集合合计
*/
@SuppressWarnings("rawtypes")
private List footer;
/**
*分页:要显示的当前页
*/
private int showPage = 1;
/**
*分页:每页多少条
*/
private int pageSize = 10;
/**
*分页:开始行
*/
private int startRow;
/**
*分页:结束行
*/
private int endRow;
/**
* 总页数
*/
private Integer pageTotal = 0;
//还有好多get ,set 及逻辑
}
以上这种分页就是太复杂了, 复杂的分页结构体, 不但没必要, 还会加重开发成本, 本来简单的事,变得复杂.
更简单的分页方法, 参考下:
https://gitee.com/aiteasoft/bee-spring-springmvc
效果图如下:
其实与分页有关的就两个字段,
rows //一页的数据,
total//总页数
public class Result {
private int total;
private List<Map<String, Object>> rows;
//... msg 提示信息 等字段
}
后端代码.
@RequestMapping("/list")
public Result list(Orderhistory orderhistory,
@RequestParam(value = "page", defaultValue = "1", required = false) int page,
@RequestParam(value = "rowSize", defaultValue = "20", required = false) int rowSize) {
Result result =new Result();
try{
int total=objSQLRichService.count(orderhistory);
List<Orderhistory> list=objSQLRichService.select(orderhistory, (page-1)*rowSize, rowSize);
result.setRows(list);
result.setTotal(total);
} catch (BeeSQLException e) {
System.err.println(e.getMessage());
result.setErrorMsg(e.getMessage());
}
return result;
}
前端发送请求,要传来的参数包含要查第几页的数据, 一页的行数量. 查询后,就设置:
rows //一页的数据,
total//总页数
并封装返回前端. 前端解析显示即可.
源码:
更简单的分页方法, 参考下:
https://gitee.com/aiteasoft/bee-spring-springmvc