主要实现功能:实现上一页、下一页、首页、最后一页和指定页的跳转。
原理:就是首先查询出所有的内容放到结果集中,然后在显示到页面时控制游标位置。
服务器:tomcat
数据库:oracle
emp表结构如下:
EMPNO NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
实现步骤:
第一步:求出结果集中的总记录数resCounts:将光标移到最后rs.last();resCounts = rs.getRow()
第二步:求出此结果集可以被显示成几页:pageCounts = resCounts/pageSize(每页显示的记录数) 在这一步必须考虑这个问题:pageCounts = resCounts % pageSize == 0?(resCounts/pageSize):(resCounts/pageSize +1)
第三步:设置显示的页showPage = 1;(默认情况下是显示第一页)
第四步:控制游标的位置:rs.absolute((showPage-1)*pageSize +1)
第五步:实现下一页、上一页、最后一页、首页和输入指定页功能
输入指定页功能:用request获取输入的页码 toPage,考虑的问题:不能大于最大页,不能小于零,当toPage小于或者等于0时,showPage = 1; 当toPage大于pageCounts时,showPage = pageCounts;其他情况 showPage = toPage;
最后一页、下一页、上一页和首页都必须使用重写地址的方式进行参数的传递:
具体实现:<a href="#.jsp?toPage='<%=showPage + 1%>'"></a>(这是下一页,其他类似)
实现截图:
备注:这是个简单的功能实现,主要用于练习jsp+jdbc实现分页的功能,可以帮助练习jdbc操作数据库以及jsp的一些知识,以上本人是用纯jsp实现的,没有用到mvc,当然也是可以用jsp+servlet实现、jsp+javabean、mvc甚至可以用框架去做,都可以起到熟练代码,锻炼逻辑思维的作用。在这里我和大家分享,希望各位路人也能给我分享下你的好东西,哈哈!要是需要源码的留言说下,留下邮箱我发过去!