首页 > 代码库 > 分页显示
分页显示
思路:定义四个变量
pageNow:表示第几页,改变了是有用户决定的,因此是变化的
pageCount:共有多少页,该变量使计算出来的
pageSize:每页显示多少记录,有程序指定,也可以由用户指定
rowCount:共有多少条记录
如何确定pageCount
(1)if(rowCount%pageSize==0){
pageCount=rowCount/pageSize;
}else{
pageCount=rowCount/pageSize+1;
}
等价于:
pageCount=rowCount%pageSize==0?rowCount/pageSize:rowCount/pageSize+1;
或者
pageCount=(rowCount-1)/pageSize+1;
案例 ManageUsers.java
//从数据库中取出数据 //到数据库中去验证 Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; //分页定义变量 int pageNow=1;//当前页 //接受用户的pageNow String spageNow=request.getParameter("pageNow"); if(spageNow!=null){ pageNow=Integer.parseInt(spageNow); } int pageSize=3;//指定显示3条记录 int pageCount=1;//该值是计算出来的 int rowCount=1;//该共有多少记录,数据库计算出来的 try{ //1加载驱动 Class.forName("com.mysql.jdbc.Driver"); //2.得到连接 conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/user", "root", "123456"); //算出共有多少页 //1.查询rowcount String sql1 ="select count(*) from user"; ps = conn.prepareStatement(sql1); rs=ps.executeQuery(); rs.next(); rowCount=rs.getInt(1); pageCount=rowCount%pageSize==0?rowCount/pageSize:rowCount/pageSize+1; //3.创建PrepareSatement //请大家思考,如果条件是pageNow=2,pageSize=3 String sql = "select t.* from (select * from user order by id) t limit "+(pageNow-1)*pageSize+","+pageSize+""; //执行操作 ps = conn.prepareStatement(sql); rs=ps.executeQuery(); out.println("<table border=1px bordercolor=green 0 width=500px>"); out.println("<tr><th>ID</th><th>用户名</th><th>密码</th></tr>"); while(rs.next()){ out.println("<tr><td>"+rs.getInt(1)+ "</td><td>"+rs.getString(2)+ "</td><td>"+rs.getString(3)+ "</td></tr>"); } out.println("</table>"); //显示上一页 if(pageNow!=1){ out.println("<a href=http://www.mamicode.com/‘/LoginServlet/ManageUsers?pageNow="+(pageNow-1)+"‘>上一页</a>"); } //显示分页 for(int i=1;i<=pageCount;i++){ out.println("<a href=http://www.mamicode.com/‘/LoginServlet/ManageUsers?pageNow="+i+"‘><"+i+"></a>"); } //显示上一页 if(pageNow!=pageCount){ out.println("<a href=http://www.mamicode.com/‘/LoginServlet/ManageUsers?pageNow="+(pageNow+1)+"‘>下一页</a>"); } //显示分页信息 out.println(" 当前页"+pageNow+"/总页数"+pageCount+"<br>"); out.println("跳转到<input type=‘text‘ id=‘pageNow‘ name=‘pageNow‘><input type=‘button‘ onClick=‘gotoPageNow()‘ value=http://www.mamicode.com/‘跳‘/>"); }catch(Exception e){ }finally{ if (ps != null) { try { ps.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } }
分页显示
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。