PageDAO.java
上传用户:lm2018
上传日期:2015-12-12
资源大小:30449k
文件大小:5k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. /*
  2.  *
  3.  */
  4. package com.oa.module.communicate.comm.chat;
  5. import java.util.List;
  6. import javax.servlet.http.HttpServletRequest;
  7. import org.hibernate.Query;
  8. /**
  9.  * 即时通讯 分页
  10.  * @author admin
  11.  *
  12.  */
  13. public class PageDAO {
  14.     public int currentpage = 1; // 当前是第几页
  15.     public int pagecount = 0; // 一共有多少页
  16.     public int rscount = 0; // 一共有多少行
  17.     public int pagesize = 8; // 每页有多少行[默认为8行]
  18.     public int getCurrentpage() {
  19.         return currentpage;
  20.     }
  21.     public void setCurrentpage(int currentpage) {
  22.         this.currentpage = currentpage;
  23.     }
  24.     public int getPagecount() {
  25.         return pagecount;
  26.     }
  27.     public void setPagecount(int pagecount) {
  28.         this.pagecount = pagecount;
  29.     }
  30.     public int getPagesize() {
  31.         return pagesize;
  32.     }
  33.     public void setPagesize(int pagesize) {
  34.         this.pagesize = pagesize;
  35.     }
  36.     public int getRscount() {
  37.         return rscount;
  38.     }
  39.     public void setRscount(int rscount) {
  40.         this.rscount = rscount;
  41.     }
  42.     /**
  43.      * 传入query获取总记录数
  44.      * @param query 
  45.      */
  46.     public int getRsCount(Query query) {
  47.         try {
  48.          List list = query.list();
  49.             if (list != null && list.size() > 0) {
  50.                 this.rscount = list.size();
  51.             } else {
  52.                 this.rscount = 0;
  53.             }
  54.             
  55.         } catch (Exception ex) {
  56.             this.rscount = 0;
  57.         }finally{
  58.          //HibernateSessionFactory.closeSession();
  59.         }
  60.         return this.rscount;
  61.     }
  62.     /**
  63.      * 获取总页数
  64.      * 
  65.      * @return int
  66.      */
  67.     public int getPageCount() {
  68.         try {
  69.             this.pagecount = ((this.rscount - 1) / this.pagesize) + 1;
  70.         } catch (Exception ex) {
  71.             this.pagecount = 0;
  72.         }
  73.         return this.pagecount;
  74.     }
  75.     /**
  76.      * 获取当前页码的设置
  77.      * 
  78.      * @return int
  79.      */
  80.     public int getCurrentPage(HttpServletRequest request) {
  81.         try {
  82.             if (request.getParameter("currentpage") != null
  83.                     && Integer.parseInt(request.getParameter("currentpage")) > 1) {
  84.                 this.currentpage = Integer.parseInt(request
  85.                         .getParameter("currentpage"));
  86.             } else {
  87.                 this.currentpage = 1;
  88.             }
  89.         } catch (Exception ex) {
  90.             this.currentpage = 1;
  91.         }
  92.         return this.currentpage;
  93.     }
  94.     /**
  95.      * 生成分页工具条
  96.      * 
  97.      * @param fileName
  98.      * @return String
  99.      */
  100.     public String pagetool(String fileName) {
  101.         StringBuffer str = new StringBuffer();
  102.         String temp = "";
  103.         if (fileName.indexOf("?") == -1) {
  104.             temp = "?";
  105.         } else {
  106.             temp = "&";
  107.         }
  108.         int ProPage = this.currentpage - 1;
  109.         int Nextpage = this.currentpage + 1;
  110.         str.append("<form mothed='post' name='pageform' action='" + fileName
  111.                 + "'>");
  112.         str
  113.                 .append("<table width='100%' border='0' cellspacing='0' cellpadding='0' class='tr3 f_one'>");
  114.         str.append("<tr>");
  115.         str.append("<td width='5%'>&nbsp;</td>");
  116.         str.append("<td height='26'>");
  117.         str.append("共有记录" + this.rscount + "条&nbsp;&nbsp;&nbsp;");
  118.         str.append("共" + this.pagecount + "页&nbsp;&nbsp;&nbsp;");
  119.         str.append("每页" + this.pagesize + "记录&nbsp;&nbsp;&nbsp;");
  120.         str.append("现在" + this.currentpage + "/" + this.pagecount + "页");
  121.         str.append("</td><td>");
  122.         if (this.currentpage > 1) {
  123.             str.append("<a href='" + fileName + temp + "currentpage=1'>首页</a>");
  124.             str.append("&nbsp;&nbsp;&nbsp;");
  125.             str.append("<a href='" + fileName + temp + "currentpage=" + ProPage
  126.                     + "'>上一页</a>");
  127.             str.append("&nbsp;&nbsp;&nbsp;");
  128.         } else {
  129.             str.append("首页");
  130.             str.append("&nbsp;&nbsp;&nbsp;");
  131.             str.append("上一页");
  132.             str.append("&nbsp;&nbsp;&nbsp;");
  133.         }
  134.         if (this.currentpage < this.pagecount) {
  135.             str.append("<a href='" + fileName + temp + "currentpage="
  136.                     + Nextpage + "'>下一页</a>");
  137.             str.append("&nbsp;&nbsp;&nbsp;");
  138.         } else {
  139.             str.append("下一页");
  140.             str.append("&nbsp;&nbsp;&nbsp;");
  141.         }
  142.         if (this.pagecount > 1 && this.currentpage != this.pagecount) {
  143.             str.append("<a href='" + fileName + temp + "currentpage="
  144.                     + pagecount + "'>尾页</a>");
  145.             str.append("&nbsp;&nbsp;&nbsp;");
  146.         } else {
  147.             str.append("尾页");
  148.             str.append("&nbsp;&nbsp;&nbsp;");
  149.         }
  150.         str.append("转到");
  151.         str
  152.                 .append("<select name='currentpage' onchange='javascript:submit()'>");
  153.         for (int j = 1; j <= pagecount; j++) {
  154.             str.append("<option value='" + j + "'");
  155.             if (currentpage == j) {
  156.                 str.append("selected");
  157.             }
  158.             str.append(">");
  159.             str.append("" + j + "");
  160.             str.append("</option>");
  161.         }
  162.         str.append("</select>页");
  163.         str.append("</td><td width='5%'>&nbsp;</td></tr></table></form>");
  164.         return str.toString();
  165.     }
  166. }