分页查询
---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();
}