首页 > 开发 > Java > 正文

javaweb分页原理详解

2024-07-13 10:06:12
字体:
来源:转载
供稿:网友

本文实例为大家分享了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武林网。


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表