javaweb分页原理详解
本文实例为大家分享了javaweb分页原理的具体实现代码,供大家参考,具体内容如下
publicclassPage{ privateintcurrentPage; privateinttotalPage; privateintcount; privateintPageSize; privateListlist; privateStringcategory; }
servlet:
packagecom.learning.web.servlet; importjava.io.IOException; importjava.util.List; importjavax.enterprise.inject.New; importjavax.servlet.ServletException; importjavax.servlet.annotation.WebServlet; importjavax.servlet.http.HttpServlet; importjavax.servlet.http.HttpServletRequest; importjavax.servlet.http.HttpServletResponse; importcom.learning.domain.Page; importcom.learning.domain.Product; importcom.learning.service.ProductService; @WebServlet("/showProductByPage") publicclassShowProductByPageextendsHttpServlet{ privatestaticfinallongserialVersionUID=1L; protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ intcurrentPage=1; intpageSize=4; //第一次取为空 StringcurrentPageString=request.getParameter("currentPage"); if(currentPageString!=null){ currentPage=Integer.parseInt(currentPageString); } Stringcategory=request.getParameter("category"); if("".equals(category)){ category=null; } ProductServiceproductService=newProductService(); Pagepage=productService.showProductByPage(currentPage,pageSize,category); request.setAttribute("page",page); request.getRequestDispatcher("/product_list.jsp").forward(request,response); } protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ doGet(request,response); } }
service:
publicPageshowProductByPage(intcurrentPage,intpageSize,Stringcategory){ try{ Pagepage=newPage(); intcount=productDao.count(category); page.setCount(count); page.setList(productDao.findProductsByPage(currentPage,pageSize,category)); inttotalPage=(int)Math.ceil(1.0*count/pageSize); page.setPageSize(pageSize); page.setCurrentPage(currentPage); page.setTotalPage(totalPage); page.setCategory(category); returnpage; }catch(SQLExceptione){ e.printStackTrace(); } returnnull; }
Dao:
publicintcount(Stringcategory)throwsSQLException{ QueryRunnerqueryRunner=newQueryRunner(C3P0Util.getDataSource()); Stringsql="selectcount(*)fromproducts"; if(category!=null){ sql+="wherecategory='"+category+"'"; } longl=(Long)queryRunner.query(sql,newScalarHandler(1)); return(int)l; } publicListfindProductsByPage(intcurrentPage,intpageSize,Stringcategory)throwsSQLException{ QueryRunnerqueryRunner=newQueryRunner(C3P0Util.getDataSource()); Stringsql="select*fromproducts"; if(category!=null){ sql+="wherecategory='"+category+"'"; } sql+="limit?,?"; returnqueryRunner.query(sql,newBeanListHandler (Product.class),(currentPage-1)*pageSize,pageSize); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。