Servlet+JSP分页

我觉得分页有两点重要的,一是:分页我们必须首先自己搞清楚,文章总数、每页显示文章数(页大小)、页数二是:如何做好页脚的分页导航条 实际应用中,文章总数这个值我们从数据库可以得到;每页显示的文章数即分页的页大小可以自己定义;页数我们可以通过下面的个表达式简单得出。 假设: int pageSize = 10; //分页大小 int totalPosts = PagingDAO.entryList.size(); //总文章数 int totalPages = totalPosts/pageSize + ((totalPosts%pageSize)>0?1:0); //计算得出的总页数 每页的文章怎么取出来? 知道分页的大小之后,我们生成了页好的选取下拉框,每次选择第几页的时候,都会向Servlet传递当前选择页号的参数,这样Servlet调用后面的DAO相应的方法,取得文章列表信息,再回传到JSP以供显示。 看看我们用作显示的index.jspHtml代码 收藏代码<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> page Size : ${pageSize}
Total Posts: ${totalPosts}
Total Pages: ${totalPages}
Current Page: ${pageNumber}
Article ID Article Title Actions
${entry.entryID} ${entry.title} View Edit Delete

这些流程清晰之后,我们就可以实现分页导航条了,也就是上面的paging_footer.jspHtml代码 收藏代码<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 首页 上一页 跳转到第 ${pageIndex} ${pageIndex}页 下一页 末页 Posts是我们的Servlet,负责取得相关参数,和DAO打交道,取得一些文章的数据,然后传递到JSP,我们来看一下这个Servlet 的 doGet 方法。Java代码 收藏代码protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String pageNumberStr = request.getParameter("pageNumber"); int pageNumber = 1; if(pageNumberStr!=null && !pageNumberStr.isEmpty()) { pageNumber = Integer.parseInt(pageNumberStr); } int pageSize = 10; //分页大小 int totalPosts = PagingDAO.entryList.size(); //总文章数 int totalPages = totalPosts/pageSize + ((totalPosts%pageSize)>0?1:0); //计算得出的总页数 request.setAttribute("pageSize", pageSize); request.setAttribute("totalPosts", totalPosts); request.setAttribute("pageNumber", pageNumber); request.setAttribute("totalPages", totalPages); List entryList = PagingDAO.getEntryList(pageNumber, pageSize); System.out.println("entryList:"+ entryList.size()); request.setAttribute("entryList", entryList); request.getRequestDispatcher("index.jsp").forward(request, response); } 分页其实还是很简单的事情,为了方便新手上路,这里提供一下这个eclipse的工程压缩包,直接导入就能用了。(注意:对于eclipse JEE版本,工程导入后,请自行拷贝jstl.jar 和 standard.jar到WEB-INF/lib目录,如果没有配置Server的话,down个tomcat在eclipse里配置一下,不然怎么run?这个基础的应该都会吧)

你可能感兴趣的:(Servlet+JSP分页)