本文实例为大家分享了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); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VeVb武林网。
新闻热点
疑难解答
图片精选