赞
踩
/**
*分页的几个步骤
*/
public class Page {
//总页数private List<House> pageList;
//省略封装的代码
/**
*实现类的代码
*利用Page类的属性得到House的每页显示的集合
*/
public List<House> getPageInfo(Page page) {
List<House> list=null;
Session session=HibernateSessionFactory.getSession();
try {
list=session.createQuery("from House")
.setFirstResult((page.getPageIndex()-1)*page.getPagesize())
.setMaxResults(page.getPagesize())
.list();
} catch (Exception e) {
// TODO: handle exception
}
finally {
session.close();
System.out.println("关闭session");
}
return list;
}
@Override
// 得到的是总的记录数
public int count() {
Session session=HibernateSessionFactory.getSession();
Long count= ((long)session.createQuery("select count(*) From House").uniqueResult());
int num=count.intValue();
return num ;
}
/**
*servlet的控制代码 从jsp页面传过来的 当前页码pageIndex来控制要显示的是第几页
*/
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
HttpSession session =request.getSession();
IHouseBizDao biz=new HousebizDaoImpl();
Page page=new Page();
//从jsp页面传过来的pageIndex,,
String pageIndex=request.getParameter("pageIndex");
if (pageIndex==null) {
pageIndex="1";
}
page.setCountNO(biz.count());
page.setPageIndex(Integer.parseInt(pageIndex));
List<House> list= biz.getPageInfo(page);
page.setPageList(list);
for (House house : list) {
System.out.println(house.getTitle());
}
session.setAttribute("list",list);
session.setAttribute("page", page);
response.sendRedirect("page/list.jsp");
}
//jsp页面省略展示信息的代码 控制页码的上 下页
<%//
Page pa = (Page) session.getAttribute("page");
if(pa==null){
}
int pagett = pa.getPageIndex();
%>
<LI class=current><A href="../HouseServlet?pageIndex=1">首页</A></LI>
<%
if (pagett <= 1) {
pagett = 1;
}
%>
<%
if (pagett > 1) {
%>
<LI><A href="../HouseServlet?pageIndex=<%=pagett - 1%>"><%=pagett - 1%>上一页</A></LI>
<%
}
%>
<%
if (pagett < pa.getCountPage()) {
%>
<LI><A href="../HouseServlet?pageIndex=<%=pagett + 1%>"><%=pagett + 1%>下一页</A></LI>
<%
} else {
pagett = pa.getCountPage();
}
%>
<LI><A href="../HouseServlet?pageIndex=<%=pa.getCountPage()%>">
末页</A></LI>
</UL>
<SPAN class=total>第<%=pagett%>页/总<%=pa.getCountPage()%>页
</SPAN>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。