日期:2014-05-18  浏览次数:20713 次

高分求救JSP分页问题
下面是源码,后面我会说明问题:
//---------------------------------
//分页的配置
public   class   PageConf  
{
public   static   final   int   PAGE_SIZE_NORMAL   =   15;    
}
//--------------------------------
//page类
public   class   Page   implements   Serializable   {
private   static   final   long   serialVersionUID   =   1L;
public   static   Page   EMPTY_PAGE=new   Page();
private   int   rowsPerPage   =   PageConf.PAGE_SIZE_NORMAL;       //页面大小,记录条数
private   int   start;                                               //本页数据在数据库中的起始位置
private   int   curRowCount   ,maxRowCount;         //本页包含的数据条数
private   Vector   data;                   //当前页的数据
private   int   curPageNo;                                       //当前页码
private   int   maxPageNo;                                       //总页数


/**
/*默认构造方法,只构造空页
  *  
  *
  */
public   Page()
{
this.init(0,0,0,PageConf.PAGE_SIZE_NORMAL,new   Vector());
}  
public   Page(int   start,   int   curRowCount   ,   int   maxRowCount,   int   rowsPerPage,   Vector   data)
{
this.init(start,   curRowCount   ,   maxRowCount,   rowsPerPage,data);
}

  /**   分页数据初始方法,由子类调用
  *   @param   start   本页数据在数据库中的起始位置
  *   @param   curRowCount     本页包含的数据条数
  *   @param   maxRowCount   数据库中总记录条数
  *   @param   rowsPerPage   本页容量
  *   @param   data   本页包含的数据  
  */
  public   void   init(int   start,   int   curRowCount   ,   int   maxRowCount,   int   rowsPerPage,   Vector   data)
  {      
this.curRowCount     =curRowCount   ;
this.rowsPerPage   =   rowsPerPage;
this.start   =   start;
this.maxRowCount   =   maxRowCount;
this.data=data;

if   (curRowCount   > maxRowCount)     //本页包含记录数大于总的记录数
{                                                            
// throw   new   RuntimeException( "记录条数大于总条数?! ");
}

this.curPageNo   =   (start   -1)/rowsPerPage   +1;
this.maxPageNo   =   (maxRowCount   +   rowsPerPage   -1)   /   rowsPerPage;

if   (maxRowCount==0   &&   curRowCount   ==0)
{
this.curPageNo   =   1;
this.maxPageNo   =   1;
}
//