




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
分页的实现原理:1. 获得需要显示的总的记录数rowCount从数据库中取 2. 设定每页最多显示的记录数size10 3. 指定显示的页码:num 作为参数得到4. 根据rowCount,size,num可计算出其余的元素: a) 本页面从多少行记录开始:startRow = (this.num-1) * size ; b) 共有多少页:pageCount = (int) Math.ceil(double)rowCount/size); c) 下一页:next=Math.min( this.pageCount, this.num+1) d) 上一页:prev = Math.max(1 , this.num-1) e) 页号控制元素: numCount:每页最多显示多少页号。(一共显示numCount+1个页号) start = Math.max(this.num-numCount/2, first); /本页显示页号从多少页开始 end = Math.min(start+numCount, last); /本页显示页号在多少页结束 页号控制: if(end-start numCount) /当本页总显示的页号数不够numCount时,如何计算起始页号。 start = Math.max(end-numCount, 1);分页实现步骤:1. 将Page类引入。需要自己修改的可自行修改。 package com.puckasoft.video.util; public class Page private int num; /当前页号, 采用自然数计数 1,2,3,.private int size; /页面大小:一个页面显示多少个数据private int rowCount;/数据总数:一共有多少个数据private int pageCount; / 页面总数private int startRow;/当前页面开始行, 第一行是0行private int first = 1;/第一页 页号private int last;/最后页 页号private int next;/下一页 页号private int prev;/前页 页号private int start;/页号式导航, 起始页号private int end;/页号式导航, 结束页号private int numCount = 10;/页号式导航, 最多显示页号数量为numCount+1;这里显示11页。public Page(int size, String str_num, int rowCount) int num = 1;if (str_num != null) num = Integer.parseInt(str_num);this.num = num;this.size=size;this.rowCount = rowCount;this.pageCount = (int) Math.ceil(double)rowCount/size);this.num = Math.min(this.num, pageCount);this.num = Math.max(1, this.num);this.startRow = (this.num-1) * size ;this.last = this.pageCount;this.next = Math.min( this.pageCount, this.num+1);this.prev = Math.max(1 , this.num-1);/计算page 控制start = Math.max(this.num-numCount/2, first);end = Math.min(start+numCount, last);if(end-start numCount)start = Math.max(end-numCount, 1);/ 为了节省篇幅,get,set方法省略。 2. 引入fenye.jsp / pagination.jsp文件:a href=$page.first首页 a href=$page.prev前一页 首页 前一页 a href=$i$i $i a href=$page.next后一页 a href=$page.last末页 末页 后一页 共$page.pageCount页 3. 在相应servlet/jsp 里面,将需要显示的记录放到list里面,并将list放到request或者session里面:相应servlet写法如下: base href= 将会列出所有的视频 $ 视频标签:$video.label 视频描述:$video.description 点击量:$video.count 作者:$video.userName 上传时间:$video.createTime 4. 数据库中查询数据:public static List listAllVideos(int startRow,int size) Connection conn=null;PreparedStatement ps=null;String sql = select video.id,vpath,name,label,count,description,userName,video.createTime from video join user on user.id=video.userId order by createTime desc limit ?,? ;ResultSet rs = null;List list = new ArrayList();try conn= DBConn.getConnection();ps = conn.prepareStatement(sql);ps.setInt(1, startRow);ps.setInt(2, size);rs = ps.executeQuery();while(rs.next()com.puckasoft.video.vo.Video video = new com.puckasoft.video.vo.Video(rs.getInt(id),rs.getString(vpath),rs.getString(name),rs.getString(label),rs.getString(description),rs.getString(userName),rs.getInt(count),rs.getTimestamp(createTime);list.add(video); catch (SQLException e) e.printStackTrace();finally DBConn.close(ps, conn);return list;public static int countAllVideos()Connection conn=null;PreparedStatement ps=null;String sql = select count(*) from video;ResultSet rs = null;int count=0;try conn= DBConn.getConnection();ps = conn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (完整版)人教八年级下册期末物理质量测试试题经典答案
- 承德市七年级下册末数学试卷及答案
- 2025年起重机操作人员考试题库及答案
- 通信安全员试题及答案
- 5月二级心理咨询师理论知识考试真题及答案
- 环评工程师真题库及答案
- 采油工技能鉴定试题库及答案(中级工)
- 起重工技能培训考试题库及答案
- 西安防火墙施工方案
- 营业直销投资咨询方案模板
- 2025年全国国家版图知识竞赛题库及答案(中小学组)
- 机加工安全生产培训考核试题及答案(班组级)(精)
- 电梯从业证考试试题及答案解析
- 2024年武汉商学院公开招聘辅导员笔试题含答案
- 钢结构厂房装修施工方案报告
- DB32-T 5156-2025 零碳园区建设指南
- 人教版三年级数学上册第一单元分层作业设计
- 2024年国庆中秋安全教育主题班会《欢度双节 安全护航》主题安全教育【课件】
- 浙教版(2024)科学八年级上册 2.1力(第2课时)课件
- 中国外卖大战报告(中英)-高盛-202507
- 咖啡对身体健康的影响研究
评论
0/150
提交评论