JR 精品文章 - 简单共同分页
AD: jr (at) javaresearch.org


首页 | 动态 | 文章 | FAQ  | 新闻 | 下载 | 代码 | 工作 | 调查 | 术语 | 站点 | 图书 | 论坛 | 帮助 | 全部  

TOP | 交流 | 软件 | 专栏 | 开源 | 译/著 | 源码 | API  | 推荐 | FTP  | 积分 | 统计 | 搜索 | Blog | 我们  
首页 » 研究文集 » JSP/Servlet/JSF 搜索标题相关文章 搜索标题相关文章    评论此文章 发表评论     开始监控此文章 开始监控   加入收藏夹  加入收藏夹
简单共同分页
wcy19782003 原创   更新:2007-01-22 09:33:46  版本: 1.0   

  编程经常遇到分页问题做个通用的简单分页的类:想法是通过数据库里查出的总行数得到总的页数,然后通过把当前页作为参数传进方法得到数据开始的位置和结束位置。这样就可以通过语句得到想要的数据同过集合显示到网页里就可以了。

/*功能描述:
 * 实现分页功能
 * 
 *  主要属性:
 *          当前页、总页数、总行数、一页显示的行数;分别为
 *    pange , allpage, cont, pagerow
 *  主要方法: 
 *       setCont方法:设置总行数并得到总页数
 *       getAllpate方法:返回总页数
 *       getFirstpage方法:返回第一页
 *       getLastpage方法:最后一页
 *       getUppage方法:向前翻页
 *       getDownpage方法:向后翻页
 *       
 *    使用方法:
 *     1:调用  setCont方法:设置总行数并得到总页数
 *      2: 调用setPagerows(int pagerows)//设置一页显示的行数也可以不用(默认5行)
 *     3: 调用  getAllpate方法:返回总页数
 *      4:如果要返回第一页或最后页调用:getFirstpage()或getLastpage()
 *       调用 getStrdata() 获得数据开始位置; 调用 getEnddata() 获得数据结束位置
 *      5:如果向前翻页调用:getUppage(int page)page代表传过来的当前页的页码然后在调用
 *        调用 getStrdata() 获得数据开始位置; 调用 getEnddata() 获得数据结束位置
 *      6:如果向后翻页调用:getUppage(int page)page代表传过来的当前页的页码然后在调用
 *       调用 getStrdata() 获得数据开始位置; 调用 getEnddata() 获得数据结束位置
 * */
package whw.function;


public class Pageupdown
{
 int pange;//当前页
 int allpage;//总页数
 int cont;//总行数
 int pagerows=5;//一页要显示的行数;5
 int strdata;//开始数据
 int enddata;//结束数据
 //**************************************************
 public void setCont(int cont)//设置总行数并得到总页数
 {
  this.cont = cont;
  
  if(cont>0 && pagerows>0)
  {
   int temp=cont/pagerows;
   int temp2=cont%pagerows;
   if(temp2>0)
   {
    temp++;
   }
   allpage=temp;
  }
 }
 
 //***************************************************
 public int getAllpage()//返回总页数
 {
  
  return allpage;
  
 }
 
 //******************************************************
 public  void getFirstpage()//第一页
 {
  strdata=1;//开始位置
  enddata=pagerows;//结束位置
  
 }
 //*******************************************************
 public void getLastpage()//最后一页
 {
  
  strdata=(allpage-1)*pagerows+1;//开始位置
  enddata=cont;//结束位置
 }
 //*********************************************************
 public void getUppage(int page)//向前翻页
 {
  if(page<=1)
  {
   page=1;
  }
  else
  {
   page--;
  }
  strdata=(page-1)*pagerows+1;//开始位置
  enddata=pagerows*page;//结束位置
  
 }
 //*********************************************************
 public void getDownpage(int page)//向后翻页
 {
  if(page>=allpage)
  {
   page=allpage;
  }
  else
  {
   page++;
  }
  strdata=(page-1)*pagerows+1;//开始位置
  enddata=pagerows*page;//结束位置
  if(enddata>cont)
  {
   enddata=cont;
  }
 }

 public int getEnddata()
 {
  return enddata;
 }

 public int getStrdata()
 {
  return strdata;
 }

 //***************************************************
 public void setPagerows(int pagerows)//设置一页显示的行数
 {
  this.pagerows = pagerows;
 }

 
}


版权声明   给作者写信
本篇文章对您是否有帮助?  投票:         投票结果:     21       1
作者其它文章:
作者全部文章
评论人:dadaqian 发表时间: Mon Jan 29 11:19:41 CST 2007
good 受教了~

这个文章共有 1 条评论
主题: Servlet概述 上一篇文章
返回文章列表 返回〔JSP/Servlet/JSF〕
下一篇文章 主题: 定时执行任务的三种方法


文字广告链接
        自主、快速定制基于JAVA的B/S业务系统          重量级企业在线自定义WEB报表平台
        Excel制表、零代码发布、打印、图表结合——快逸报表,免费、稳定、功能强大的java工具
        技术圈: 关于Java、dotNet、PHP、Ruby、奇客、Web2.0等更多资讯博客精选文章

关于 JR  |  版权声明  |  联系我们 

©2002-2006 JR 版权所有 沪ICP备05019622号