JavaWeb知识 - 分页

一、什么是分页?

   第N/M页 首页 上一页 1 2 3 4 5 6 7 8 9 10 下一页 尾页 口go

   分页的优点:只查询一页,不用查询所有页。

二、分页数据

   页面的数据都是由Servlet来传递的。

  • 当前页:pageCode,如果页面没有传递当前页码,那么Servlet默认是第一页,或者按页面传递的为准;
  • 总页数:totalPages,总记录数 / 每页记录数;
  • 总记录数:totalRecored,DAO层来获取,SELECT  COUNT(*)  FROM  t_customer;
  • 每页记录数:业务数据或系统数据;
  • 当前页数据:beanList;
  • url

三、分页Bean的数据

   这些分页数据总要在各层之间来回传递!

   我们把这些分页数据封装到一个JavaBean中,它就叫分页Bean,例如PageBean.java:

public class PageBean<T> {

private int pc;// 当前页码page code

//private int tp;// 总页数total page

private int tr;// 总记录数total record

private int ps;// 每页记录数page size

private List<T> beanList;// 当前页的记录

……

}

四、分页在各层中的处理

  • 页面:给出分页相关的链接,页面需要给Servlet传递pageCode;
  • Servlet:创建PageBean对象,给PageBean所有属性赋值,然后传递给页面;
  • Service:略;
  • Dao:tatolRecored,SELECT  COUNT(*)  FROM  t_customer;beanList,SELECT  *  FROM  t_customer  LIMIT  x , y。


五、显示分页页码列表

   确定数据:

  • 最大显示页码:10页;
  • 当前页,在列表中的位置:6

   推算数据:

  • begin:pageCode-5;
  • end:pageCode+4;

   计算公式:

  • 如果总页数<=10(列表长度),那么begin=1,end=总页数;
  • 使用公式计算,begin=pc-5,end=pc+4;
  • 头溢出:当begin<1时,让begin=1;
  • 尾溢出:当end>${tp}时,让end=${tp};

六、在超链接黄总保存数据

   当使用多条件查询后,然后在点击第2页时,这个第2页超链接就没有条件了,所以会丢失条件,所以我们需要在页面上的所有连接都保持条件。

   我们要把条件以一个字符串的形式保存到PageBean的url中,这个任务交给Servlet。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值