今天就跟大家聊聊有关利用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); }
看完上述内容,你们对利用javaweb是如何实现分页的有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。