java代码实现分页_Java实现简单的分页功能

本文实例为大家分享了java实现分页功能的具体代码,供大家参考,具体内容如下

不用根据改变sql的形式去查询;

直接查询所有的数据,根据页码自动显示数据;

分页对象

public class pageutils implements serializable {

/**

*

*/

private static final long serialversionuid = -5247614532234782640l;

public final static string page = "page";

public final static string page_no = "pageno";

public final static string page_size = "pagesize";

private long pagesize=10;//每页显示记录数

private long firstresult=0;//当页第一条记录号

private long totalcount;//总记录数

private long totalpage;//总页码

private long pageno=1;//当前页码

private list> sumdata;//此集合可用来保存 合计数据

private list> data;//查询结果

public long getpagesize() {

return pagesize;

}

public void setpagesize(long pagesize) {

this.pagesize = pagesize;

}

public long getfirstresult() {

if(pageno>0){

firstresult=pagesize * (pageno -1);

}else{

firstresult = 0;

}

return firstresult;

}

public long getnextpageresult(){

if(pageno>0){

return pagesize*(pageno-1);

}else{

return pageno;

}

}

public void setfirstresult(long firstresult) {

this.firstresult = firstresult;

}

public long gettotalcount() {

return totalcount;

}

public void settotalcount(long totalcount) {

this.totalcount = totalcount;

totalpage = this.totalcount/pagesize;

if (totalpage == 0 || totalcount % pagesize != 0) {

totalpage++;

}

}

public long gettotalpage() {

return totalpage;

}

public void settotalpage(long totalpage) {

this.totalpage = totalpage;

}

public long getpageno() {

return pageno;

}

public void setpageno(long pageno) {

this.pageno = pageno;

}

public list> getdata() {

return data;

}

public void setdata(list> data) {

this.data = data;

}

/**

* 是否第一页

*/

public boolean isfirstpage() {

return pageno <= 1;

}

/**

* 是否最后一页

*/

public boolean islastpage() {

return pageno >= gettotalpage();

}

/**

* 下一页页码

*/

public long getnextpage() {

if (islastpage()) {

return pageno;

} else {

return pageno + 1;

}

}

/**

* 上一页页码

*/

public long getprepage() {

if (isfirstpage()) {

return pageno;

} else {

return pageno - 1;

}

}

public pageutils(){}

public pageutils(long pageno){

this.pageno=pageno;

}

public pageutils(long pageno,long pagesize){

this.pageno=pageno;

this.pagesize = pagesize;

}

public list> getsumdata() {

return sumdata;

}

public void setsumdata(list> sumdata) {

this.sumdata = sumdata;

}

}

查询的数据实体

在查询的实体里添加页码和每页显示条数参数;

private int pagesize; //每页显示的条数

private int pageno; //当前页码

public int getpagesize() {

return pagesize;

}

public void setpagesize(int pagesize) {

this.pagesize = pagesize;

}

控制层controller

@requestmapping("/list")

public string list(model model,channelvalueinfoview input) {

// input:传入的参数为对象

pageutils page=new pageutils();

//如果传入的当前条数为0,则赋予值(首次查询不带参);

if(input.getpagesize()==0){

//当前页码第一页

input.setpageno(1);

//每页显示条数,当前每页显示10条数据;

input.setpagesize(10);

}

page.setpageno(input.getpageno());

page.setpagesize(input.getpagesize());

//核心分页代码

pagehelper p=new pagehelper();

page l=p.startpage(input.getpageno(),input.getpagesize());

//紧跟着的第一个select查询将会被分页

channelvalueservice.getchannelvalueinfoviewlist(input);

model.addattribute("input", input);

page.setdata(l);

page.settotalcount(l.gettotal());

model.addattribute("page", page);

return "index";

}

页面处理

//循环穿过来的page.data数据

----------

总数:0

----------

function onfirst() {

onlist(1);

}

function onpre() {

var beginrow = parseint($('#beginrow').html());

if (beginrow - 1 > 0) {

onlist(beginrow - 1);

}

}

function onnext() {

var beginrow = parseint($('#beginrow').html());

var totalcount = parseint($('#totalcount').html());

var pagesize = parseint($('#pagesize').val());

if (parseint(totalcount / pagesize + 1) > beginrow + 1) {

onlist(beginrow+1);

}

}

function onlast() {

var totalcount = parseint($('#totalcount').html());

var pagesize = parseint($('#pagesize').val());

onlist(parseint(totalcount / pagesize + 1) - 1);

}

function onlist(pageno) {

if (pageno == 0)

pageno = 1;

$('#pageno').val(pageno);

$("#content_form").submit();

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值