分页类--单例

package com.java7.service;

/*

 * 

 * 该类用于商品展示进行分页

 * */

import java.util.ArrayList;

import java.util.List;

 

public class PageService {

private static PageService service=null;

private ArrayList<Integer> list=new ArrayList<Integer>();

private int pageSize=0;

private ArrayList al=null;

 

//单例

public static PageService getService()

{

if(service==null){

service=new PageService();

}

return service;

}

 

public ArrayList getAl() {

return al;

}

public void setAl(ArrayList al) {

this.al = al;

}

 

public int getPageSize() {

return pageSize;

}

public void setPageSize(int pageSize) {

this.pageSize = pageSize;

}

 

///设置访问将要访问的商品的类别

public void  setCatecoryidNum(int categoryid){

list.add(categoryid);

 

}

///获取商品访问的类别

public int getCatecoryidNum(){

return (Integer)list.get((list.size()-1));

}

 

public int getTotal(){//该方法用来求总共的页数

int total=al.size()/pageSize;

int e=al.size()%pageSize;

if(e!=0){

total=total+1;

}

return total;

}

 

public int getPagenum(int numstr){//该发法用来返回要打开的页数

int pageNum=0;

int totalPage=getTotal();

if(numstr<=0){

pageNum=1;

return pageNum;

}else if(pageNum>totalPage){

pageNum=totalPage;

return pageNum;

}else{

pageNum=numstr;

return pageNum;

}

}

 

public ArrayList getPage(int pageNumber){//该方法根据给定的页号得到该页的所有记录信息存入数组

int total=getTotal();

ArrayList list=new ArrayList();

if(pageNumber>=total){//如果所给定的页号大于或等于最大页号,则返回最后几条记录

for(int i=al.size()-1;i>(al.size()-1-pageSize);i--){

list.add(al.get(i));

}

}

else if(pageNumber<=1){//所给定的页号小于1

for(int i=0;i<pageSize;i++){

list.add(al.get(i));

}

}

else{//所给定的页号在1和最大值之间

for(int i=(pageNumber-1)*pageSize;i<pageNumber*pageSize;i++){

list.add(al.get(i));

}

}

return  list;

}

 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值