Java web更简单的分页设计

165 篇文章 3 订阅
45 篇文章 0 订阅

后端,定义 的结构体, 不需要包含当前页, 起止行等,这些无用信息,

//复杂的分页结构体, 没必要
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


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值