Web端的分页分析

这里以JavaWeb中的Servlet程序举例

像上图的这样一张图片,在分析后该如何做出呢?

当前页码(pageNo)在第一次进来的时候肯定是1,当它发生改变时,页面也应该发生改变

每页应该显示的数量(pageSize):这个得看页面布局自己来决定

首先我们应该考虑的是当前页码(pageNo)和每页应该显示的数量(pageSize),这两个必然是已知的

根据这两个条件,我们可以计算出其他的条件,总页码(pageTotal),总记录(pageTotalCount),以及当前页数据(items)

总页码可以由一个公式求得:

(总记录(pageTotalCount)/每页应该显示的数量(pageSize))+(总记录(pageTotalCount)/每页应该显示的数量(pageSize) > 0 ? 1 : 0)

假设总记录数是10条,每页会显示4条数据,那么按照公式

(10/4)+(10%4>0 ? 1 : 0)求得总页码为3

总记录可以用sql语句求得:select count(*) from 表名

求得该表内的数据共有多少条,就说明总记录有多少条

当前页数据,也可以用SQL语句求得(select * from 表名 limit begin,pageSize)

limit分页函数,从begin索引,开始,每次分pageSize个数据

begin可由公式(pageNo-1)* pageSize

得到的当前页数据,我们可以用一个集合保存起来

在Java中,可以用一个类来存储上面的所有数据,然后服务器端利用request域把数据共享到客户端,客户端那边可以利用jsp的技术(博主技术较烂只学到jsp、EL表达式、JSTL标签),拿到request域中的数据,然后把数据放到页面上即可

再看上一页,和下一页,在得到当前页码后,其实就很好做了,就可以看作当前页码-1和当前页码+1,但是得加个判断,因为这个页码到1和总页码就是终点了,百度这里是在当前页码为1时,让上一页隐藏起来,而在页码为总页码时,让下一页隐藏起来

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值