page.java
上传用户:manager48
上传日期:2022-07-31
资源大小:997k
文件大小:3k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. /**********************************************************************
  2.                          * Date:2007-05-03     *
  3.                          * File:pageQuery.java *
  4.                          * Author:jezz         *
  5. **********************************************************************/
  6. package wm.bean;
  7. import wm.bean.DB;
  8. import java.util.*;
  9. import java.sql.*;
  10. import javax.servlet.*;
  11. import javax.servlet.http.*;
  12. import javax.servlet.http.HttpServletRequest;
  13. public class page{ 
  14. int ShowPage=1; //设置想要显示的页数
  15. int RowCount = 0; //ResultSet的记录数目 初始值
  16. int PageCount = 0; //ResultSet分页后的总页数 初始值
  17. int redundance=0; //设置分页最后一页的记录数 初始值
  18. public String HttpFile;
  19. DB db; // 操作数据库对象
  20. public page() {
  21. int Cint(String cint)
  22.    {
  23.     try {
  24.       int n;
  25.       n= Integer.parseInt(cint);
  26.    return n;
  27.         }
  28.        catch (NumberFormatException e) {
  29.                  return 0;
  30.         }
  31. }
  32. public int getCount() throws Exception{  //获取数据总数
  33. db=new DB();
  34. int count=0;
  35. ResultSet rs=null;
  36. try{
  37. String sql="select count(id) as count from liuyan_temp";
  38. rs=db.executeQuery(sql);
  39. if(rs.next())
  40. count=rs.getInt(1);
  41. }
  42. catch(Exception e){
  43. throw e;
  44. }
  45. finally
  46. {
  47. db.all_close();
  48. }
  49. return count;
  50. }
  51. // 主要工作函数,根据所给的条件从表中读取相应的记录 
  52. public ResultSet myQuery(HttpServletRequest request,HttpServletResponse response,int PageSize) throws Exception 
  53. {
  54. HttpFile=request.getRequestURI();
  55. RowCount=this.getCount();
  56. //if(Rowcount==0)无数据
  57. redundance=RowCount%PageSize;
  58. if(redundance==0){  //计算页数
  59. PageCount=RowCount/PageSize;
  60. }
  61. else
  62. {
  63. PageCount=(RowCount-redundance)/PageSize;
  64. PageCount++;
  65. }
  66. String ToPage=request.getParameter("ToPage");
  67. if(ToPage=="")
  68. ToPage="1";
  69. ShowPage=Cint(ToPage);
  70. if(ShowPage>PageCount)
  71. ShowPage=PageCount;
  72. if(ShowPage<=0)
  73. ShowPage=1;
  74. String sql="select * from liuyan_temp order by id desc limit "+(ShowPage-1)*PageSize+","+PageSize+"";
  75. db=new DB();
  76. ResultSet rs=db.executeQuery(sql);
  77. return rs;
  78.  
  79. }
  80. // 显示总页数
  81. public int getTotalPages() { 
  82. return PageCount;
  83. }
  84. //显示当前所在页数
  85. public int getCurrenPages() { 
  86. return ShowPage;
  87. //显示数据总数
  88. public int getRowCount(){
  89.  return RowCount;
  90. }
  91. public String PageFooter() //显示上下翻页
  92. {  
  93. String str = "";  
  94. int next, prev;  
  95. prev=ShowPage-1;  
  96. next=ShowPage+1; 
  97. str+="<form aciont="+ HttpFile +">";
  98. str += "查询到<span>"+getRowCount()+"</span>条记录"+
  99. "    共<span>"+getTotalPages()+"</span>页";  
  100. str +=" 第<span>"+getCurrenPages()+"</span>页 ";  
  101. if(ShowPage>1) 
  102. str += " <A href=" + HttpFile + "?ToPage=1"+">首页</A> ";  
  103. else 
  104. str += " 首页 ";  
  105. if(ShowPage>1)
  106. str += " <A href=" + HttpFile + "?ToPage=" + prev + ">上一页</A> ";  
  107. else
  108. str += " 上一页 ";  
  109. if(ShowPage<PageCount)  
  110. str += " <A href=" + HttpFile + "?ToPage=" + next + ">下一页</A> ";  
  111. else 
  112. str += " 下一页 ";  
  113. if(PageCount>1&&ShowPage!=PageCount)  
  114. str += " <A href=" + HttpFile + "?ToPage=" + PageCount + 
  115. ">尾页</A>";  
  116. else
  117. str += " 尾页 ";  
  118. str+="第<input name=ToPage type=text size=2>页 <input type=submit value=GO></form>" ;
  119. return str;  
  120. public void all_close()
  121. {
  122. db.all_close();
  123. }
  124. }