一个通用的分页方法
2017-11-17 14:15
399 查看
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> <font color="red">${pagination.rowCount }</font> <font>条记录,</font>
<font>当前第</font> <font color="red">${pagination.currentPage }</font> <font>页,</font>
<font>共</font> <font color="red">${pagination.pageCount }</font> <font>页</font>
<img alt="首页" src='<c:url value="images/pagination/fy_dy.gif"/>' onclick="goPage(1)" style="cursor: pointer;"/>
<img alt="上一页" src='<c:url value="images/pagination/fy_sy.gif"/>' onclick="goPage(${pagination.currentPage-1 })" style="cursor: pointer;"/>
<img alt="下一页" src='<c:url value="images/pagination/fy_xy.gif"/>' onclick="goPage(${pagination.currentPage+1 })" style="cursor: pointer;"/>
<img alt="末页" src='<c:url value="images/pagination/fy_zh.gif"/>' onclick="goPage(${pagination.pageCount })" style="cursor: pointer;"/>
<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>
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+'¤tPage='+currentPage+'&rowCount='+rowCount+'#datalist';
window.location.href = url ;
}
将window.location.reload()换成pagereload()即可。
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> <font color="red">${pagination.rowCount }</font> <font>条记录,</font>
<font>当前第</font> <font color="red">${pagination.currentPage }</font> <font>页,</font>
<font>共</font> <font color="red">${pagination.pageCount }</font> <font>页</font>
<img alt="首页" src='<c:url value="images/pagination/fy_dy.gif"/>' onclick="goPage(1)" style="cursor: pointer;"/>
<img alt="上一页" src='<c:url value="images/pagination/fy_sy.gif"/>' onclick="goPage(${pagination.currentPage-1 })" style="cursor: pointer;"/>
<img alt="下一页" src='<c:url value="images/pagination/fy_xy.gif"/>' onclick="goPage(${pagination.currentPage+1 })" style="cursor: pointer;"/>
<img alt="末页" src='<c:url value="images/pagination/fy_zh.gif"/>' onclick="goPage(${pagination.pageCount })" style="cursor: pointer;"/>
<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>
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+'¤tPage='+currentPage+'&rowCount='+rowCount+'#datalist';
window.location.href = url ;
}
将window.location.reload()换成pagereload()即可。
相关文章推荐
- 一个通用分页查询方法
- Linq通用分页数据查询方法
- 一个命令搞定Java Web通用添删改查及分页代码生成(音视频)
- ADO.Net实现非连接的简单分页方法(DataAdapter.Fill重载中的一个).
- 一个通用的类的toString()方法
- C#每隔n个字符插入一个字符的通用方法
- c# linq的高级用法:分页查询和导出Excel共用一个方法
- SqlServer通用分页的调用方法
- 改进一个asp.net通用分页显示辅助类
- 构造一个通用的回调Thunk.(把回调函数指向对象的方法的办法)
- c# 一个记录日志的通用方法
- 一个命令搞定Java Web通用添删改查及分页代码生成(音视频)
- 一个通用的数据分页的存储过程
- 一个用JSP实现的分页的类及调用方法
- thinkphp 一个页面使用2次分页的实现方法
- 通用手动分页方法
- 又一个通用分页存储过程,支持表别名,多表联合查询SQL语句--转载
- 一个相当独立的.通用分页控件c#源码一(downmoon收集)
- 一个命令搞定Java Web通用添删改查及分页代码生成(音视频)
- 一个高效简洁的Struts分页方法