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);