1.pages封装类
package com.jquery.vo;
import java.util.List;
import com.jquery.entity.Jquerydeltail;
public class Pages {
private int totalRows; //所有行
private int pageSize; //每页显示条数 ---赋值处理
private int currentPage; //当前页 ----赋值处理
private int totalPage; //所有页
private int startRow; //开始行
private List dataList; //显示数据 ----赋值处理
private int beforePage;//前一页,下一页
private int afterPage; //后一页,上一页
private int[] showPage;//显示页
public int getTotalRows() {
return totalRows;
}
public void setTotalRows(int totalRows) {
this.totalRows = totalRows;
int page = this.totalRows/this.pageSize;
this.totalPage = this.totalRows%this.pageSize==0?page:page+1;
if(this.currentPage>=this.totalPage)
this.beforePage = this.currentPage;
else
this.beforePage = this.currentPage+1;
if(this.currentPage<=1)
this.afterPage = this.currentPage;
else
this.afterPage = this.currentPage - 1;
int index = 0;
int[] temparr = new int[6];
for(int i=-3;i<7;i++){ //取数据
int value = this.currentPage + i ;
if(value>0&&value<=this.totalPage){
temparr[index] = this.currentPage + i;
index++;
if(index>=6)break; //有6个推出循环
}
}
showPage = new int[index]; //确定显示页面的大小
for(int i=0;i<index;i++) //复制显示的数字
{
showPage[i] = temparr[i];
}
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
this.startRow =( this.currentPage - 1 ) * this.pageSize;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public int getStartRow() {
return startRow;
}
public void setStartRow(int startRow) {
this.startRow = startRow;
}
public List getDataList() {
return dataList;
}
public void setDataList(List dataList) {
this.dataList = dataList;
}
public int getBeforePage() {
return beforePage;
}
public void setBeforePage(int beforePage) {
this.beforePage = beforePage;
}
public int getAfterPage() {
return afterPage;
}
public void setAfterPage(int afterPage) {
this.afterPage = afterPage;
}
public int[] getShowPage() {
return showPage;
}
public void setShowPage(int[] showPage) {
this.showPage = showPage;
}
}
2.jsp页面。。。。基于struts2
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<center>
<div class="examdiv" style="text-align: center;">
<s:if test="#request.pages!=null">
<font size="2">
当前页<s:property value="#request.pages.currentPage"/>/总页数<s:property value="#request.pages.totalPage"/>
<s:iterator id="pageIndex" value="#request.pages.showPage">
<a href="<%=basePath %>deltail!findAll.action?currentPage=<s:property value="#pageIndex"/>">[<s:property value="#pageIndex"/>]</a>
</s:iterator>
<a href="<%=basePath %>deltail!findAll.action?currentPage=1">首页</a>
<a href="<%=basePath %>deltail!findAll.action?currentPage=<s:property value='#request.pages.afterPage'/>">上一页</a>
<a href="<%=basePath %>deltail!findAll.action?currentPage=<s:property value='#request.pages.beforePage'/>">下一页</a>
<a href="<%=basePath %>deltail!findAll.action?currentPage=<s:property value='#request.pages.currentPage'/>">末页</a>
<input id="topage" type="text" size="2"/>
<input type="button" value="GO" οnclick="javascript:var va = document.getElementById('topage').value;if(va><s:property value='#request.pages.totalPage'/>||va<=0)alert('超过页码范围');else{var url = 'deltail!findAll.action?currentPage='+va;window.location.href=url;}"/>
</font>
</s:if>
</div>
</center>
</body>
</html>
*效果请看 http://www.jquery.uqc.cn/deltail!findAll.action?currentPage=1