分页查询
---CONTROLLER---
/** * 分页查询所有成员。 * @param page * @param request * @return */ @RequestMapping("/allStaff.do") public String getAllStaff(String page,HttpServletRequest request) { if(page ==null) { page = 1+""; } request.setAttribute("page", page); request.setAttribute("pageNum",staffService.getPageNum()); request.setAttribute("staffList", staffService.allStaff(page)); return "/allStaff.do"; } /** * 分页查询下一页 * @param page * @param request * @return */ @RequestMapping("/nextPage.do") public String nextPage(String page,HttpServletRequest request){ int curPage = Integer.parseInt(page); request.setAttribute("page", curPage+1); request.setAttribute("pageNum",staffService.getPageNum()); request.setAttribute("staffList", staffService.allStaff(curPage+1+"")); return "/allStaff.do"; } /** * 分页查询前一页 * @param page * @param request * @return */ @RequestMapping("/prevPage.do") public String prevPage(String page,HttpServletRequest request){ int curPage = Integer.parseInt(page); request.setAttribute("page", curPage-1); request.setAttribute("pageNum",staffService.getPageNum()); request.setAttribute("staffList", staffService.allStaff(curPage-1+"")); return "/allStaff.do"; }
---Action---
/** * 分页查询成员信息 * @param page * @return */ public List<Staff> allStaff(String page); /** * 获得页码。 * @return */ public int getPageNum(); /** * 分页查询成员信息 * @param page * @return */ public List<Staff> allStaff(String page){ return staffDao.allStaff(page); } /** * 获得页码。 * @return */ public int getPageNum(){ return staffDao.getPageNum(); }
----DAO---
public int getPageNum(); public List<Staff> allStaff(String page) ; /** * 得到员工页面总页码信息。 */ public int getPageNum() { String hql="from Staff"; Query query = sessionFactory.getCurrentSession().createQuery(hql); int temp = query.list().size()/pageSize;//size=10 if(query.list().size()%pageSize !=0) { temp++; } return temp; } /** * 分页获取所有员工,第一页的。 */ public List<Staff> allStaff(String page) { String hql="from Staff"; Query query = sessionFactory.getCurrentSession().createQuery(hql); query.setFirstResult((Integer.parseInt(page)-1)*pageSize); query.setMaxResults(pageSize); return query.list(); }