由于这次实现设计的代码有些长,为了便于网友看的清晰.我将分文介绍每个类, 最后给出我做的一个留言本的分页实现过程.
在这篇里我将先发出分页类(PageSplit.java),并做必要的解释, 在讲该类之前我先说说一个也很重要的类: PageInfo.java.该类没别的功能实现. 都是一些getter和setter方面, 以在页面根据属性值显示链接. 主要作为DTO对象在业务逻辑层和页面显示层传递参数. 该类的代码如下:
package net.eliry;
public class PageInfo
{
private int totalPage=-1; //要分页的总页数; 考虑到有可能为0,所以默认为-1,
private int curPage=1; //当前显示的页面数, 初始值为1,即为首页;
private boolean first; //是否是首页;
private boolean pre; //是否有前一页;
private boolean next; //是否有下一页;
private boolean last; //是否是最后一页;
private int pageSize=2; //每页显示的记录数, 默认为2;
private int totalItem=-1; //要分页的总记录数; 考虑到有可能为0,所以默认为-1,
private int curItem=2; //当前页面显示的记录数;
public int getTotalPage()
{
return totalPage;
}
public void setTotalPage(int totalPage)
{
this.totalPage=totalPage;
}
public int getCurPage()
{
return curPage;
}
public void setCurPage(int curPage)
{
this.curPage=curPage;
}
public int getPageSize()
{
return pageSize;
}
public void setPageSize(int pageSize)
{
this.pageSize=pageSize;
}
public int getTotalItem()
{
return totalItem;
}
public void setTotalItem(int totalItem)
{
this.totalItem=totalItem;
}
public int getCurItem()
{
return curItem;
}
public void setCurItem(int curItem)
{
this.curItem=curItem;
}
public boolean getFirst()
{
return first;
}
public void setFirst(boolean first)
{
this.first=first;
}
public boolean getPre()
{
return pre;
}
public void setPre(boolean pre)
{
this.pre=pre;
}
public boolean getNext()
{
return next;
}
public void setNext(boolean next)
{
this.next=next;
}
public boolean getLast()
{
return last;
}
public void setLast(boolean last)
{
this.last=last;
}
}