分页功能
来源:互联网 发布:picasa for mac 编辑:程序博客网 时间:2024/06/05 17:50
分页功能
思路:
1.定义四个分页变量
pageNow 表示第几页 //该变量是由用户决定
pageSize 每页显示几条记录 //每页显示几条记录,由程序指定
pageCount 共有多少页 //该变量是计算得出
rowCount 共有多少条记录 //查询数据库得出,不固定
2.如何确定pageNow
可以由用户点击确定,点击之后跳转到本页面,并且带参数pageNow,然后在开头获取pageNow
intpageNow=1; //默认在第一页
String sPageNow=request.getParameter(“pageNow”);获取get提交的pageNow信息
if(sPageNow!=null){//不为空就赋值给pageNow
pageNow=Integer.parseInt(sPageNow);
}
3.如何确定pageCount
(1)
if(rowCount%pageSize==0){
pageCount=rowCount/pageSize;
}else{
pageCount=rowCount/pageSize+1;
}
(2)
等价于
pageCount=rowCount%pageSize==0?rowCount/pageSize:rowCount/pageSize+1;
(3)
(3)更简单的算法是:
pageCount=(rowCount-1)/pageSize+1;
4.如何获取rowCount
//查询rowcount
//获取PreparedStatement对象
pstmt=con.prepareStatement(“selectcount(*) from t_admins”);
rs=pstmt.executeQuery();
rs.next();//不要忘了取下一个记录,否则rs指向空
rowCount=rs.getInt(1);//获取rowCount
5.分页操作核心代码
pstmt=con.prepareStatement(“selectt.* from (select * from t_admins order by id) t whereid>=”+(pageSize*(pageNow-1)+1)+” andid<=”+(pageSize*pageNow)+”;”);
完整代码:
protected void doGet(HttpServletRequestrequest, HttpServletResponse response) throws ServletException, IOException { //TODO Auto-generated method stub PrintWriterout=response.getWriter();//获取输出流 request.setCharacterEncoding("utf-8");//防止中文乱码 response.setContentType("text/html;charset='utf-8'"); intpageNow=1; //表示第几页 /该变量是由用户决定 String sPageNow=request.getParameter("pageNow"); if(sPageNow!=null){ pageNow=Integer.parseInt(sPageNow); } intpageSize=3; //每页显示几条记录 每页显示几条记录,由程序指定 introwCount; //共有多少条记录 intpageCount; //获取连接 con=newUtil().getCon(); try{ //查询rowcount //获取PreparedStatement对象 pstmt=con.prepareStatement("selectcount(*) from t_admins"); rs=pstmt.executeQuery(); rs.next();//不要忘了取下一个记录,否则rs指向空 rowCount=rs.getInt(1);//获取rowCount //获取pageCount if(rowCount%pageSize==0){ pageCount=rowCount/pageSize; }else{ pageCount=rowCount/pageSize+1; //共有多少页 该变量是计算得出 } //获取PreparedStatement对象 pstmt=con.prepareStatement( "select t.* from " + "(select * from t_admins order byid) t " + "whereid>="+(pageSize(pageNow-1)+1)+" and id<="+(pageSizepageNow)+";"); //执行sql语句 rs=pstmt.executeQuery(); out.println("<imgsrc='imgs/MyLogo.gif'/>欢迎 XX 登录 返回主界面 <ahref='/studentSystem2/Login'>安全退出<hr/>"); out.println("<h1>用户管理</h1>"); out.println("<tableborder='1' width='500px'>"); out.println("<tr><th>id</th><th>username</th><th>email</th><th>grade</th></tr>"); while(rs.next()){ out.println("<tr><td>"+rs.getInt(1)+ "</td><td>"+rs.getString(2)+ "</td><td>"+rs.getString(4)+ "</td><td>"+rs.getInt(5)+ "</td></tr>"); } out.println("</table>"); for(inti=1;i<=pageCount;i++){ out.println("<ahref='/studentSystem2/ManageUsers?pageNow="+i+"'><"+i+"></a>"); } out.println("<hr/><imgsrc='imgs/MyLogo1.gif'/>"); }catch (SQLException e) { //TODO Auto-generated catch block e.printStackTrace(); } }
- 分页功能
- 分页功能
- 分页功能
- 分页功能
- 分页功能
- 分页功能
- 分页功能
- 分页,数据库分页功能 SqlServer
- 实现分页打印功能:
- dispaytag的分页功能
- CakePhp分页功能
- 强化DataGrid分页功能
- 扩展GridView分页功能
- asp.net分页功能
- php 实现分页功能
- GridView的分页功能
- datalist分页功能
- GridView自定义分页功能
- 指针与数组解惑
- Mac下AndroidStudio中手动配置Gradle
- 数组选择排序2
- 堆栈代码
- Spark2.0.1 on yarn with hue 集群搭建部署(一)基础环境配置
- 分页功能
- 动魄惊心的redis keys 事件
- 区块链读书笔记三
- codeforces-232【A贪心、思维、图】
- lua注册表和引用系统,LUA_REGISTRYINDEX、luaL_ref、luaL_unref的用途
- [JS]利用ActiveXObject创建文件
- Java 注解
- java快速排序
- 带头结点的链表的逆置