Java当中的分页显示公共类
2009-04-03 19:54
141 查看
package com.guoqj.common;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Vector;
/**
*
* @author guoqj
* 分页公共类
*
*/
public class PageResultSet {
private Collection data =null ;
private int curPage; //当前页
private int pageSize; //每页显示的行数
private int rowsCount; //总行数
private int pageCount; //总页数
public PageResultSet(Collection data){
this.data = data ;
this.curPage = 1;
this.pageSize=10;
this.rowsCount=data.size();
this.pageCount = (int)Math.ceil((double)rowsCount/pageSize);
}
public PageResultSet(Collection data , int curPage){
this.data = data ;
this.curPage = curPage;
this.pageSize=10;
this.rowsCount=data.size();
this.pageCount = (int)Math.ceil((double)rowsCount/pageSize);
}
public PageResultSet(Collection data , int curPage , int pageSize){
this.data = data ;
this.curPage = curPage;
this.pageSize=pageSize;
this.rowsCount=data.size();
this.pageCount = (int)Math.ceil((double)rowsCount/pageSize);
}
/**
* 获取当前页
* @return int
*/
public int getCurPage() {
return curPage;
}
/**
* 获取总页数
* @return int
*/
public int getPageCount() {
return pageCount;
}
public int getPageSize() {
return pageSize;
}
public int getRowsCount() {
return rowsCount;
}
public int first(){
return 1;
}
public int last(){
return this.rowsCount;
}
/**
* 上一页
* @return int
*/
public int previous() {
return (curPage - 1 < 1) ? 1 : curPage-1;}
/**
* 下一页
* @return int
f*/
public int next() {
return (curPage + 1 > pageCount) ? pageCount : curPage + 1;
}
public boolean isFirst() {
return (curPage==1)?true:false;
}
public boolean isLast() {
return (curPage==pageCount)?true:false;
}
public Collection getData() {
Collection curData = null;
if (data != null) {
int start = (curPage - 1) * pageSize;
int end = 0;
if (start + pageSize > rowsCount){
end = rowsCount;
}
else{
end = start + pageSize;
}
ArrayList arrayCurData = new ArrayList();
ArrayList arrayData = null;
Vector vectorCurData = new Vector();
Vector vectorData = null;
boolean isArray = true;
if (data instanceof ArrayList) {
arrayData = (ArrayList) data;
isArray = true;
} else if (data instanceof Vector) {
vectorData = (Vector) data;
isArray = false;
}
for (int i = start; i < end; i++) {
if (isArray) {
arrayCurData.add(arrayData.get(i));
} else {
vectorData.add(vectorData.elementAt(i));
}
}
if (isArray) {
curData = (Collection) arrayCurData;
} else {
curData = (Collection) vectorCurData;
}
}
return curData;
}
public String getToolBar(String fileName){
String temp="";
if(fileName.indexOf("?")==-1){
temp="?";
}else{
temp="&";
}
String str="<form method='post' name='frmPage' action='"+fileName+"'>";
str+="<p align='center'>";
if(isFirst()){
str += "首页 上一页 ";
}else{
str+="<a href='"+fileName+temp+"cur_page=1'>首页</a> ";
str+="<a href='"+fileName+temp+"cur_page="+(curPage-1)+"'>上一页</a> ";
}
if(isLast()){
str+="下一页 尾页 ";
}else{
str+="<a href='"+fileName+temp+"cur_page="+(curPage+1)+"'>下一页</a> ";
str+="<a href='"+fileName+temp+"cur_page="+pageCount+"'>尾页</a> ";
}
str+=" 共<b>"+rowsCount+"</b>条记录 ";
str+=" 转到<select name='page' onChange=/"location='"+fileName+temp+"cur_page='+this.options[this.selectedIndex].value/">";
for(int i=1;i<=pageCount;i++){
if(i==curPage){
str+="<option value='"+i+"' selected>第"+i+"页</option>";
}else{
str+="<option value='"+i+"'>第"+i+"页</option>";
}
}
str+="</select></p></form>";
return str;
}
}
import java.util.ArrayList;
import java.util.Collection;
import java.util.Vector;
/**
*
* @author guoqj
* 分页公共类
*
*/
public class PageResultSet {
private Collection data =null ;
private int curPage; //当前页
private int pageSize; //每页显示的行数
private int rowsCount; //总行数
private int pageCount; //总页数
public PageResultSet(Collection data){
this.data = data ;
this.curPage = 1;
this.pageSize=10;
this.rowsCount=data.size();
this.pageCount = (int)Math.ceil((double)rowsCount/pageSize);
}
public PageResultSet(Collection data , int curPage){
this.data = data ;
this.curPage = curPage;
this.pageSize=10;
this.rowsCount=data.size();
this.pageCount = (int)Math.ceil((double)rowsCount/pageSize);
}
public PageResultSet(Collection data , int curPage , int pageSize){
this.data = data ;
this.curPage = curPage;
this.pageSize=pageSize;
this.rowsCount=data.size();
this.pageCount = (int)Math.ceil((double)rowsCount/pageSize);
}
/**
* 获取当前页
* @return int
*/
public int getCurPage() {
return curPage;
}
/**
* 获取总页数
* @return int
*/
public int getPageCount() {
return pageCount;
}
public int getPageSize() {
return pageSize;
}
public int getRowsCount() {
return rowsCount;
}
public int first(){
return 1;
}
public int last(){
return this.rowsCount;
}
/**
* 上一页
* @return int
*/
public int previous() {
return (curPage - 1 < 1) ? 1 : curPage-1;}
/**
* 下一页
* @return int
f*/
public int next() {
return (curPage + 1 > pageCount) ? pageCount : curPage + 1;
}
public boolean isFirst() {
return (curPage==1)?true:false;
}
public boolean isLast() {
return (curPage==pageCount)?true:false;
}
public Collection getData() {
Collection curData = null;
if (data != null) {
int start = (curPage - 1) * pageSize;
int end = 0;
if (start + pageSize > rowsCount){
end = rowsCount;
}
else{
end = start + pageSize;
}
ArrayList arrayCurData = new ArrayList();
ArrayList arrayData = null;
Vector vectorCurData = new Vector();
Vector vectorData = null;
boolean isArray = true;
if (data instanceof ArrayList) {
arrayData = (ArrayList) data;
isArray = true;
} else if (data instanceof Vector) {
vectorData = (Vector) data;
isArray = false;
}
for (int i = start; i < end; i++) {
if (isArray) {
arrayCurData.add(arrayData.get(i));
} else {
vectorData.add(vectorData.elementAt(i));
}
}
if (isArray) {
curData = (Collection) arrayCurData;
} else {
curData = (Collection) vectorCurData;
}
}
return curData;
}
public String getToolBar(String fileName){
String temp="";
if(fileName.indexOf("?")==-1){
temp="?";
}else{
temp="&";
}
String str="<form method='post' name='frmPage' action='"+fileName+"'>";
str+="<p align='center'>";
if(isFirst()){
str += "首页 上一页 ";
}else{
str+="<a href='"+fileName+temp+"cur_page=1'>首页</a> ";
str+="<a href='"+fileName+temp+"cur_page="+(curPage-1)+"'>上一页</a> ";
}
if(isLast()){
str+="下一页 尾页 ";
}else{
str+="<a href='"+fileName+temp+"cur_page="+(curPage+1)+"'>下一页</a> ";
str+="<a href='"+fileName+temp+"cur_page="+pageCount+"'>尾页</a> ";
}
str+=" 共<b>"+rowsCount+"</b>条记录 ";
str+=" 转到<select name='page' onChange=/"location='"+fileName+temp+"cur_page='+this.options[this.selectedIndex].value/">";
for(int i=1;i<=pageCount;i++){
if(i==curPage){
str+="<option value='"+i+"' selected>第"+i+"页</option>";
}else{
str+="<option value='"+i+"'>第"+i+"页</option>";
}
}
str+="</select></p></form>";
return str;
}
}
相关文章推荐
- Java中使用sql标签<sql:query />分页显示
- java web 简单的分页显示
- datatables+java实现服务器端分页,排序,查询,列的显示影藏
- java中对list进行分页,并将显示数据到页面
- java-用SSH框架实现将查询的信息分页显示
- Java实现页面显示中的信息分页
- Java实现简单分页查询显示
- JSP实现留言板的JavaBean类和分页显示的源码
- 分页显示数据的java工具类
- jsp分页显示Java代码实现
- js前台分页显示后端JAVA数据响应
- JAVA高级【4.8】《Java核心技术2》数据库-JavaWeb分页显示内容——数据库分页查询
- jsp+java bean+mysql数据库进行分页显示
- java在eclipse当中关于图片显示的处理
- java实现分页显示效果
- JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)
- Java中数据分页显示之HibernateTemplate
- 【Java公共类】分页Page开发
- js验证时间格式+Java计算两个数的百分比,以百分号显示+ mysql的limit分页技术
- java常用公共代码二之分页代码的实现