一个通用的分页方法

来源:互联网 发布:ios高仿app项目源码 编辑:程序博客网 时间:2024/05/29 11:44

1.分页底层代码

public class Pagination {
 private Integer rowCount = 0;
 private Integer pageCount = 0;
 private Integer currentPage = 1;
 private Integer pageSize = 10;
 private String actionName;
 private String sql;
 private String hql;
 private String resultpage ;
 private String params ;

 public Pagination() {
  super();
 }

 public Pagination(Integer rowCount, Integer pageCount, Integer currentPage,
   Integer totalPage, Integer pageSize) {
  super();
  this.rowCount = rowCount;
  this.pageCount = pageCount;
  this.currentPage = currentPage;
  this.pageSize = pageSize;
 }

 public Integer getRowCount() {
  return rowCount;
 }

 public void setRowCount(Integer rowCount) {
  this.rowCount = rowCount;
  this.pageCount = (rowCount + this.pageSize - 1)/this.pageSize;
 }

 public Integer getPageCount() {
  return pageCount;
 }

 public void setPageCount(Integer pageCount) {
  this.pageCount = pageCount;
 }

 public Integer getStartRow() {
  return (getCurrentPage()-1)*getPageSize();
 }
 
 public Integer getEndRow() {
  return getCurrentPage()*getPageSize();
 }

 public Integer getCurrentPage() {
  if(currentPage > pageCount)
   currentPage = pageCount;
  if(currentPage < 1)
   currentPage = 1;
  return currentPage;
 }

 public void setCurrentPage(Integer currentPage) {
  this.currentPage = currentPage;
 }

 public Integer getPageSize() {
  return pageSize;
 }

 public void setPageSize(Integer pageSize) {
  this.pageSize = pageSize;
 }

 public String getActionName() {
  return actionName;
 }

 public void setActionName(String actionName) {
  this.actionName = actionName;
 }

 public String getSql() {
  return sql;
 }

 public void setSql(String sql) {
  this.sql = sql;
 }

 public String getHql() {
  return hql;
 }

 public void setHql(String hql) {
  this.hql = hql;
 }

 public String getResultpage() {
  return resultpage;
 }

 public void setResultpage(String resultpage) {
  this.resultpage = resultpage;
 }

 public String getParams() {
  return params;
 }

 public void setParams(String params) {
  this.params = params;
 }
}

2.分页页面代码

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ page import="dong.util.Pagination"%>
<SCRIPT language=javascript>
function goPage(page)
{
 document.getElementById("currentPage").value=page;
 document.getElementsByName("pagination")[0].submit();
}
</SCRIPT>
<form action='<c:url value="${pagination.actionName }${pagination.params}"/>' name="pagination" method="post" style="display: none">

 <input type="hidden" name="rowCount" value="${pagination.rowCount }"/>
 <input type="hidden" id="currentPage" name="currentPage" value="${pagination.currentPage }"/>
 
</form>
<font>共查找到</font>&nbsp;<font color="red">${pagination.rowCount }</font>&nbsp;<font>条记录,</font>
<font>当前第</font>&nbsp;<font color="red">${pagination.currentPage }</font>&nbsp;<font>页,</font>
<font>共</font>&nbsp;<font color="red">${pagination.pageCount }</font>&nbsp;<font>页</font>
&nbsp;&nbsp;
<img alt="首页" src='<c:url value="images/pagination/fy_dy.gif"/>' onclick="goPage(1)" style="cursor: pointer;"/>
&nbsp;
<img alt="上一页" src='<c:url value="images/pagination/fy_sy.gif"/>' onclick="goPage(${pagination.currentPage-1 })" style="cursor: pointer;"/>
&nbsp;
<img alt="下一页" src='<c:url value="images/pagination/fy_xy.gif"/>' onclick="goPage(${pagination.currentPage+1 })" style="cursor: pointer;"/>
&nbsp;
<img alt="末页" src='<c:url value="images/pagination/fy_zh.gif"/>' onclick="goPage(${pagination.pageCount })" style="cursor: pointer;"/>
&nbsp;&nbsp;<font>跳转到第</font>
<select onchange="goPage(this.value)" style="width:70px">
<option value="1"></option>
<%
 Pagination pagination = (Pagination)request.getAttribute("pagination");
 Integer pageCount = pagination.getPageCount();
 for(int i=1; i <= pageCount; i++){
  out.write("<option value=\""+i+"\">"+i+"</option>");
 }
%>
</select>
<font>页</font>&nbsp;&nbsp;

3.实现在当前页面刷新

  function pagereload(){

 var currentPage = ${pagination.currentPage};
 var rowCount = ${pagination.rowCount};
 var word = $("#word").val();
 var catelogyId = $("#qcatelogyId").val();

 var url = 'queryCensorWord?word='+word+'&catelogyId='+catelogyId+'&currentPage='+currentPage+'&rowCount='+rowCount+'#datalist';

 window.location.href = url ;

}

将window.location.reload()换成pagereload()即可。