天天看点

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();

}

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

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