天天看點

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

}

以上就是本文的全部内容,希望對大家的學習有所幫助,也希望大家多多支援萬仟網。

如您對本文有疑問或者有任何想說的,請點選進行留言回複,萬千網友為您解惑!