实现:首页--上一页--下一页--末页的简单分页实现
代码如下:
Bean中的代码
Dao中的代码
//获得总的页数 public int doTotalPage(doPage dopage) { int totalPage=0; con = ConnectionFactory.getConnection(); try { ps=con.prepareStatement("select count(*) from news"); rs=ps.executeQuery(); if (rs.next()) { //获得总页数;总页数=上取整(总记录/每页大小) // System.out.println("总记录:"+rs.getInt(1)+"每页大小:"+dopage.getPageSize()+"页数:"+rs.getInt(1)/Double.parseDouble(dopage.getPageSize()+"")); totalPage=(int) Math.ceil(rs.getInt(1)/Double.parseDouble(dopage.getPageSize()+"")); } } catch (SQLException e) { e.printStackTrace(); } finally { DbClose.close(rs, ps, con); } return totalPage; } //查询所有的数据 public doPage doFindAll(doPage dopage) { ArrayList userlist=new ArrayList(); con= ConnectionFactory.getConnection(); try { String sql="select * from news limit "+(dopage.getNowPage()-1)*dopage.getPageSize()+"" + " , "+dopage.getPageSize(); ps = con.prepareStatement(sql); rs = ps.executeQuery(); while (rs.next()) { //封装user对象 News new1=new News(); new1.setNid(rs.getInt("nid")); new1.setNews(rs.getString("news")); new1.setClasses(rs.getString("classes")); new1.setDims(rs.getString("dims")); //向数据集合中添加元素 userlist.add(new1); } //将查询的结果封装到doPage dopage.setList(userlist); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { DbClose.close(rs, ps, con); } return dopage; }
Servlet中的代码
// 查询所有的数据,并分页显示 if (biaoshi.equals("list")) { InsertNews it = new InsertNews(); // 封装分页查询的参数的对象doPage doPage dopage = new doPage(); dopage.setNowPage(Integer.parseInt(pageNo)); dopage.setPageSize(4); // 执行查询操作,参数是doPage dopage = it.doFindAll(dopage); // 得到总的页数 dopage.setTotalPage(it.doTotalPage(dopage)); // 将返回的结果,放到request中到jsp中显示 request.setAttribute("doPage", dopage); // 页面跳转 this.gotoPage("Comlist.jsp", request, response); } } // 跳转页面方法 private void gotoPage(String URL, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { RequestDispatcher rd; rd = request.getRequestDispatcher(URL); rd.forward(request, response); } public void init() throws ServletException { }
Jsp中的代码
<DIV class=Extra> <a href="InfoComManage?biaoshi=list&page=1">首页</a> <%if (dopage.getNowPage() - 1 > 0) {%> <SPAN class=Unable> <a href="InfoComManage?biaoshi=list&page=<%=(dopage.getNowPage() - 1)%>">上一页 </a> </SPAN> <%} if (dopage.getNowPage() + 1 <= dopage.getTotalPage()) { %> <a href="InfoComManage?biaoshi=list&page=<%=(dopage.getNowPage() + 1)%>">下一页</a> <%}%> <a href="InfoComManage?biaoshi=list&page=<%=dopage.getTotalPage()%>">末页 </a> </DIV>