struts2+hibernate(分頁實現)

來源:互聯網
上載者:User

標籤:

//Dao類中實現了list集合和pagetotal方法package zjf.strhib.Dao;import java.util.ArrayList;import java.util.List;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class PageDao { public List pageQuery(int pageSize, int pageNow) {  List list = new ArrayList();  SessionFactory sessionfactory = new Configuration().configure()    .buildSessionFactory();  Session session = sessionfactory.openSession();  try {   // session =new   // Configuration().configure().buildSessionFactory().openSession();   session.beginTransaction();   // 得到每頁顯示的LevTwoInFuUser的對象的集合list   list = session.createQuery("from user  order by id")     .setFirstResult(pageNow * pageSize - pageSize)     .setMaxResults(pageSize).list();   session.getTransaction().commit();  } catch (Exception e) {   e.printStackTrace();   session.getTransaction().rollback();  } finally {   // HibernateUtils.getSessionFactory().close();   // NewHibernateUtil.closesessicon();   session.close();  }  return list; } public int pageTotle(int pageSize, int pageNow) {  int i = 0;  SessionFactory sessionfactory = new Configuration().configure()    .buildSessionFactory();  Session session = sessionfactory.openSession();  try {   // session = HibernateUtils.getSessionFactory().getCurrentSession();   session.beginTransaction();   // i是查詢結果條數   i = session.createQuery("from user").list().size();   // 用總的結果條數對每頁顯示的條數取餘,得到總頁數   i = i % pageSize == 0 ? i / pageSize : i / pageSize + 1;   session.getTransaction().commit();  } catch (Exception e) {   e.printStackTrace();   session.getTransaction().rollback();  } finally {   // HibernateUtils.getSessionFactory().close();   // NewHibernateUtil.closesessicon();   session.close();  }  return i; }}//Pagequery中實現了Dao介面package zjf.strhib.action;import java.util.List;import zjf.strhib.Dao.PageDao;public class Pagequery { private List list;    private int pageNow = 1 ; //初始化為1,預設從第一頁開始顯示    private int pageSize = 2 ; //每頁顯示3條記錄    private int pageTotle= 1 ;//總頁數       private PageDao pageDao = new PageDao () ;       public List getList() {  return list; } public void setList(List list) {  this.list = list; } public int getPageNow() {  return pageNow; } public void setPageNow(int pageNow) {  this.pageNow = pageNow; } public int getPageSize() {  return pageSize; } public void setPageSize(int pageSize) {  this.pageSize = pageSize; } public int getPageTotle() {  return pageTotle; } public void setPageTotle(int pageTotle) {  this.pageTotle = pageTotle; }  public String fenye(){   //得到每頁顯示的對象的集合list        list  = pageDao.pageQuery(pageSize, pageNow);                //得到總頁數pageTotle        pageTotle=pageDao.pageTotle(pageSize, pageNow);                return "success"; }}//Page頁面顯示<%@ page language="java" import="java.util.*" pageEncoding="gbk"%><%    String path = request.getContextPath();    String basePath = request.getScheme() + "://"            + request.getServerName() + ":" + request.getServerPort()            + path + "/";%><%@taglib prefix="s" uri="/struts-tags"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head>  <SCRIPT type="text/javascript" src="js/calendar.js"></SCRIPT>  <base href="<%=basePath%>">  <title>分頁</title>  <meta http-equiv="pragma" content="no-cache">  <meta http-equiv="cache-control" content="no-cache">  <meta http-equiv="expires" content="0">  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  <meta http-equiv="description" content="This is my page"> </head> <body>  <table border="1">   <tr>    <th>     使用者編號    </th>    <th>     真實姓名    </th>   </tr>   <!-- 迭代查詢 -->   <s:iterator value="list">    <tr>     <td>      <s:property value="name" />     </td>     <td>      <s:property value="password" />     </td>    </tr>   </s:iterator>  </table>  <!-- 首頁 -->  <s:url id="url_first" value="page.action">   <s:param name="pageNow" value="1"></s:param>  </s:url>  <!-- 上一頁 -->  <s:url id="url_pre" value="page.action">   <s:param name="pageNow" value="pageNow-1"></s:param>  </s:url>  <!-- 下一頁 -->  <s:url id="url_next" value="page.action">   <s:param name="pageNow" value="pageNow+1"></s:param>  </s:url>  <!-- 末頁 -->  <s:url id="url_last" value="page.action">   <s:param name="pageNow" value="pageTotle"></s:param>  </s:url>  <!-- 如果不是首頁則提供首頁的連結,如果是首頁則不提供連結,以下類似 -->  <s:if test="pageNow != 1">            [<s:a href="%{url_first}">首頁</s:a>]             </s:if>  <s:else>            [首頁]        </s:else>  <s:if test="pageNow>1">            [<s:a href="%{url_pre}">上一頁</s:a>]         </s:if>  <s:else>            [上一頁]         </s:else>  <s:if test=" pageTotle > pageNow ">            [<s:a href="%{url_next}">下一頁</s:a>]        </s:if>  <s:else>            [下一頁]        </s:else>  <s:if test="pageTotle != pageNow">            [<s:a href="%{url_last}">末頁</s:a>]        </s:if>  <s:else>            [末頁]        </s:else>  第${pageNow}頁/ 共${pageTotle}頁   </body></html>

 

struts2+hibernate(分頁實現)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.