浏览 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; } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-08-21
用iBATIS做分页的确很方便。
|
|
返回顶楼 | |