java分页类

package com.shoppingcart.util;

public class Pagination {

//第一条记录
private int first = 0;
//一页共几条记录
private int max = 10;
//输入页数
private Integer page;
//当前页数
private int curr_page;
//总的页数
private int pages;
//总的记录数
private Integer number;

public Pagination(){}

//第一页
public void firstListener(){
first = 0;
page = 1;
curr_page = page;
}
//最后一页
public void lastListener(){
first = (pages-1)*max;
page = pages;
curr_page = page;
}
//下一页
public void nextListener(){
if(curr_page < pages){
curr_page += 1;
}
first = (curr_page-1)*max;
page = curr_page;
}
//上一页
public void priorListener(){
if(curr_page > 1){
curr_page -= 1;
}
first = (curr_page-1)*max;
page = curr_page;
}
//跳转某页
public boolean gotoListener(){
if(page > 0 && page <= pages){
curr_page = page;
first = (curr_page-1)*max;
return true;
}else{
/*HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
request.setAttribute("errorPage", "你输入的页码有误!");*/
return false;
}
}
/**
* 得到总的记录数
* 调用此类为本类的初始化条件,把得到的总记录数传入即可
* 如果刚进入页面没有数据,此方法传入初始值是0
*/
public Integer getNumber(Integer num){
if(num.equals(0)){
num = 1;
}
this.number = num;
curr_page = first/max+1;
pages = (int)Math.ceil(number/(double)max);
return number;
}

public String getPageNum(){
return curr_page+"/"+pages;
}

public Integer getPage() {
return page;
}

public void setPage(Integer page) {
this.page = page;
}

public int getFirst() {
return first;
}

public void setFirst(int first) {
this.first = first;
}

public int getMax() {
return max;
}

public void setMax(int max) {
this.max = max;
}

public int getCurr_page() {
return curr_page;
}

public void setCurr_page(int curr_page) {
this.curr_page = curr_page;
}

public int getPages() {
return pages;
}

public void setPages(int pages) {
this.pages = pages;
}

public Integer getNumber(){
return number;
}

}

说明: 本类中有几个分页所用到的属性,在类中已经注明,其中first是第一条记录,在EJB中第一条记录是从0开始的,所以可以给first一个初始值,让它默认为从第一条开始,类中有几个方法,方法上也注明了它们的作用,当你选择要去的页面时,它会改变first的值,而其他的值在更新frist之后自动的计算出相应的值,这个样就可以只考虑first就能实现分页了。


你可能感兴趣的:(java,ejb)