论坛首页 Java企业应用论坛

分页显示数据代码

浏览 4656 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-10-17  
//部分代码仅供参考,实现了分页的基本功能,只需调用即可。
package com.leo.page;
import java.util.HashMap;
import java.util.Iterator;
/**
*
* 分页用工具类
*
* @author Ziyang.Xia
*/
public class PageInfo {
// 总共符合条件的记录数目 
private int recordCount;
// 当前页数
private int page;
// 每页大小
private int pageSize = 20; 
// 页面传递的URL
private String url; 
// 返回到页面上的html
private StringBuffer html=new StringBuffer(); 
// 页面传递的参数
private HashMap paramMap=new HashMap();

/**
* 构造器1
* @param page :起始页
* @param url :换页后的URL地址
*/
public PageInfo(int page,String url) {
this.page = page; 
this.url=url;
} 

/**
* 构造器2
* @param page : 起始页
* @param url :换页后的URL地址
* @param paramMap :URL后的参数
*/
public PageInfo(int page,String url,HashMap paramMap) {
this.page = page; 
this.url=url;
this.paramMap=paramMap; 
}


/**
* 构造器3
* @param page : 起始页
* @param pagesize : 每页的记录数
* @param url :换页后的URL地址
*/
public PageInfo(int page,int pagesize,String url) {
this.page = page;
this.pageSize = pagesize;
this.url=url;
}


/**
* 构造器4
* @param page : 起始页
* @param pagesize : 每页的记录数
* @param url :换页后的URL地址
* @param paramMap :URL后的参数
*/ 
public PageInfo(int page,int pagesize,String url,HashMap paramMap) {
this.page = page;
this.pageSize = pagesize;
this.url=url;
this.paramMap=paramMap; 
}



/**
* <p>获取总记录数</p>
*
* @return String
*/
public int getRecordCount() {
return recordCount;
}

/**
* <p>设定总记录数</p>
*
* @param loginUserId
*/
public void setRecordCount(int recordCount) {
this.recordCount = recordCount;
}
/**
* <p>获取起始页</p>
*
* @return String
*/
public int getPage() {
return page;
}
/**
* <p>获取下一页页码</p>
*
* @return String
*/
public int getNextPage() {
return page+1;
}
/**
* <p>获取前一页页码</p>
*
* @return String
*/
public int getPrePage() {
return page-1;
}
/**
* <p>获取总记录数</p>
*
* @return String
*/
public int getPageSize() {
return pageSize;
}

/**
* <p>设定当前页</p>
*
* @param page
*/
public void setPage(int page) {
this.page = page;
} 
/**
* <p>设定用户登录ID</p>
*
* @param pageSize
*/
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}


/**
* <p>设定用户登录ID</p>
*
* @param loginUserId
*/
public int getPageCount() {
return (int) Math.ceil((double) recordCount / pageSize);
}
/**
* 是否有前一页,如果当前页数=1则没有
* @return 是否有前一页
*/
public boolean isHasPrevPage() {
if (page > 1) {
return true;
} else {
return false;
}
}
/**
* 是否有后一页,如果当前页数=总页数则没有
* @return 是否有后一页
*/
public boolean isHasNextPage() {
if (page < getPageCount()) {
return true;
} else {
return false;
}
}


/**
*
*
* @return
*/
private String ceateParamString(){
String paramStr="";
Iterator iterator=paramMap.keySet().iterator();
if(iterator.hasNext()){
String key=(String)iterator.next();
paramStr=paramStr+"&"+key+"="+paramMap.get(key);
}
return paramStr;
}

/**
*
* @return
*/
public StringBuffer getHtml(){

String paramString = new String();
paramString=ceateParamString();
if(this.page>1){
this.html.append("<a href='"+this.url+"?pageNum=1"+paramString+"'>首页</a> ");
this.html.append("<a href='"+this.url+"?pageNum="+this.getPrePage()+paramString+"'>上页</a> ");
}
this.html.append("第"+this.getPage()+"/"+this.getPageCount()+"页 ");
if(page < getPageCount()){
this.html.append("<a href='"+this.url+"?pageNum="+this.getNextPage()+paramString+"'>下页</a> ");
this.html.append("<a href='"+this.url+"?pageNum="+this.getPageCount()+paramString+"'>尾页</a> ");
}
return html;
}
}
   发表时间:2008-08-21  
用iBATIS做分页的确很方便。
1 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics