当前位置:编程学习 > JAVA >>

分页问题

  我现在在做一个sql2005+struts+hibernate的论坛项目,在做到分页时不知如何 下手,请问谁有这个方面的代码粘贴一下,帮哈忙,明天要交项目了,虽然在hibernate中有一个分页的方法,但不具体实现不是很明白,请高手讲解下  --------------------编程问答-------------------- 建议可以去写个struts的自定义分页标签、 --------------------编程问答-------------------- 分页就是 每次 取N条数据  没什么难的  mysql 是limit  sqlserver 是用top --------------------编程问答--------------------

简易分页:

PageParamBean.java

package com.congoal.idtrust.action.bean;


public class PageParamBean {

private int begin;  //开始下标
private int pagesize=15;  //每页显示个数
private int end;   //最后一页第一个商品下标
private int pagesum=1;   //总页数
private int pagenow=1;  //当前页
private int rowsums=0; //总行数

private int previous = 1;
private int next = 1;
private boolean isfirst;  //是否是第一页
private boolean isprevious;  //是否有上一页
private boolean isnext;  //是否有下一页
private boolean islast;  //是否是最后一页

public int getRowsums() {
return rowsums;
}
public void setRowsums(int rowsums) {
this.rowsums = rowsums;
}
public int getBegin() {
return begin;
}
public void setBegin(int begin) {
this.begin = begin;
}
public int getPagesize() {
return pagesize;
}
public void setPagesize(int pagesize) {
this.pagesize = pagesize;
}
public int getEnd() {
return end;
}
public void setEnd(int end) {
this.end = end;
}
public int getPagesum() {
return pagesum;
}
public void setPagesum(int pagesum) {
this.pagesum = pagesum;
}
public int getPagenow() {
return pagenow;
}
public void setPagenow(int pagenow) {
this.pagenow = pagenow;
}

public boolean isIsfirst() {
if(pagenow!=1)
return false;
else
return true;
}
public void setIsfirst(boolean isfirst) {
this.isfirst = isfirst;
}
public boolean isIsprevious() {
if(pagenow==1)
return false;
else
return true;
}
public void setIsprevious(boolean isprevious) {
this.isprevious = isprevious;
}
public boolean isIsnext() {
if(pagenow == pagesum)
return false;
else
return true;
}
public void setIsnext(boolean isnext) {
this.isnext = isnext;
}
public boolean isIslast() {
if(pagenow != pagesum)
return false;
else
return true;
}
public void setIslast(boolean islast) {
this.islast = islast;
}
public int getPrevious() {
return pagenow - 1;
}

public void setPrevious(int previous) {
this.previous = previous;
}

public int getNext() {
return pagenow + 1;
}

public void setNext(int next) {
this.next = next;
}
}

PageParam.java
package com.congoal.idtrust.action.bean;

public class PageParam {

public PageParamBean subPAGE(int rowsums, int pagenow, int pagesize) {

int begin = 0; // 开始行索引
int end = 0; // 结束行索引
int rowsum = 0; // 总行数
int pagesum = 0; // 总页数
int size = 0;
    //int endbegin=0; //用于记录最后一页第一条记录的下标

// 总行数
if (rowsums > 0)
rowsum = rowsums;
if (pagesize > 0)
size = pagesize;

// 总页数
pagesum = rowsum / size;
if (rowsum % size != 0) {
pagesum += 1;
}
if (pagesum >= pagenow) {
// 得到只有一页时显示的总数
if (rowsum < size) {
size = rowsum;
pagenow = 1;
end = size;
} else {
if (pagenow > 1) {
begin = (pagenow - 1) * size;
end = begin + size;
// 判断结束下标是否大于总行数
if (end > rowsum)
end = rowsum;
} else {
end = size;
}
}
}

// 设置分页参数
PageParamBean parms = new PageParamBean();
parms.setBegin(begin);
parms.setPagesize(size);
parms.setEnd(end);
parms.setPagesum(pagesum);
parms.setPagenow(pagenow);
parms.setRowsums(rowsum);
return parms;
}
}


--------------------编程问答-------------------- 既然struts+hibernate都用了,那么分页应该是件简单的事情。。
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,