本文实例为大家分享了javaweb分页原理的具体实现代码,供大家参考,具体内容如下
public class Page { private int currentPage; private int totalPage; private int count; private int PageSize; private List<Product> list; private String category; }
servlet:
package com.learning.web.servlet; import java.io.IOException; import java.util.List; import javax.enterprise.inject.New; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.learning.domain.Page; import com.learning.domain.Product; import com.learning.service.ProductService; @WebServlet("/showProductByPage") public class ShowProductByPage extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int currentPage=1; int pageSize=4; //第一次取为空 String currentPageString=request.getParameter("currentPage"); if (currentPageString!=null) { currentPage=Integer.parseInt(currentPageString); } String category = request.getParameter("category"); if ("".equals(category)) { category=null; } ProductService productService=new ProductService(); Page page=productService.showProductByPage(currentPage,pageSize,category); request.setAttribute("page", page); request.getRequestDispatcher("/product_list.jsp").forward(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
service:
public Page showProductByPage(int currentPage, int pageSize, String category) { try { Page page=new Page(); int count=productDao.count(category); page.setCount(count); page.setList(productDao.findProductsByPage(currentPage,pageSize,category)); int totalPage=(int) Math.ceil(1.0*count/pageSize); page.setPageSize(pageSize); page.setCurrentPage(currentPage); page.setTotalPage(totalPage); page.setCategory(category); return page; } catch (SQLException e) { e.printStackTrace(); } return null; }
Dao:
public int count(String category) throws SQLException { QueryRunner queryRunner=new QueryRunner(C3P0Util.getDataSource()); String sql=" select count(*) from products "; if (category!=null) { sql+=" where category='"+category+"'"; } long l= (Long)queryRunner.query(sql, new ScalarHandler(1)); return (int) l; } public List<Product> findProductsByPage(int currentPage, int pageSize, String category) throws SQLException { QueryRunner queryRunner=new QueryRunner(C3P0Util.getDataSource()); String sql=" select * from products "; if (category!=null) { sql+=" where category='"+category+"'"; } sql+=" limit ?,?"; return queryRunner.query(sql, new BeanListHandler<Product>(Product.class),(currentPage-1)*pageSize,pageSize); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。