1. GoodsListServlet.Java
int pageNo = 0; if(request.getParameter("pageNo") != null) { pageNo = Integer.parseInt(request.getParameter("pageNo")); }
List<Goods> list = gService.selectGoods(id, pageNo, 8); // 显示第pageNo页, 1页最多显示8条数据
request.setAttribute("list", list);
2. GoodsDao.java
public int getGoodsCount(int typeId) throws SQLException { QueryRunner r = new QueryRunner(DBUtil.getDataSource()); String sql=""; if(typeId == 0) { sql = "select count(*) from goods "; }else { sql = "select count(*) from goods where type_id = ? "; } return r.query(sql, new ScalarHandler<Long>()).intValue(); }
3. GoodsService.java
public Page getGoodsPage(int typeId, int pageNo) { // 获得pageNo Page p = new Page(); p.setPageNumber(pageNo); // 获得总页数 int totalCount = 0; try { totalCount = gDao.getGoodsCount(typeId); } catch (SQLException e) { e.printStackTrace(); } p.setPageSizeAndTotalCount(8, totalCount); // 获得对应页的商品数据 List list = null; try { list = gDao.selectGoods(typeId, pageNo, 8); } catch (SQLException e) { e.printStackTrace(); } p.setList(list); return p; }
4. GoodsListServlet.java
// List<Goods> list = gService.selectGoods(id, pageNo, 8); // 显示第pageNo页, 1页最多显示8条数据 // request.setAttribute("list", list);
// 修改为传递分页数据模型: Page p = gService.getGoodsPage(id, pageNo); request.setAttribute("p", p);