激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - Java實現(xiàn)簡單的分頁功能

Java實現(xiàn)簡單的分頁功能

2020-12-12 15:44LandiYax Java教程

這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)簡單的分頁功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Java實現(xiàn)分頁功能的具體代碼,供大家參考,具體內(nèi)容如下

不用根據(jù)改變SQL的形式去查詢;
直接查詢所有的數(shù)據(jù),根據(jù)頁碼自動顯示數(shù)據(jù);

分頁對象

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
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;//每頁顯示記錄數(shù)
  private long firstResult=0;//當(dāng)頁第一條記錄號
  private long totalCount;//總記錄數(shù)
  private long totalPage;//總頁碼
  private long pageNo=1;//當(dāng)前頁碼
  private List<?> sumData;//此集合可用來保存 合計數(shù)據(jù)
  private List<?> data;//查詢結(jié)果
 
  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;
  }
 
}

查詢的數(shù)據(jù)實體

在查詢的實體里添加頁碼和每頁顯示條數(shù)參數(shù);

?
1
2
3
4
5
6
7
8
private int pageSize;  //每頁顯示的條數(shù)
private int pageNo;   //當(dāng)前頁碼
public int getPageSize() {
  return pageSize;
}
public void setPageSize(int pageSize) {
  this.pageSize = pageSize;
}

控制層Controller

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@RequestMapping("/list")
public String list(Model model,ChannelValueInfoView input) {
    // input:傳入的參數(shù)為對象
 
    PageUtils page=new PageUtils();
    //如果傳入的當(dāng)前條數(shù)為0,則賦予值(首次查詢不帶參);
    if(input.getPageSize()==0){
      //當(dāng)前頁碼第一頁
      input.setPageNo(1);
      //每頁顯示條數(shù),當(dāng)前每頁顯示10條數(shù)據(jù);
      input.setPageSize(10);
    }
    page.setPageNo(input.getPageNo());
    page.setPageSize(input.getPageSize());
    //核心分頁代碼
    PageHelper p=new PageHelper();  
    Page<ChannelValueInfoList> 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";
  }

頁面處理

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
//循環(huán)穿過來的PAGE.data數(shù)據(jù)
<tr th:each="ts : ${page.data}">
<td th:text="${ts.channelValueName}"></td>
 
 
----------
<form id="content_form" action="/channelValue/list" method="post" >
  <div>
    總數(shù):<span id="totalCount" th:text="${page.totalCount}">0</span>
  </div>
  <ul class="pagination">
    <li class="disabled">
      <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="onFirst()">首頁</a>
    </li>
    <li class="disabled">
      <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="onPre()">&lt;</a>
    </li>
    <li class="active">
      <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >
        <span id="beginRow" th:text="${page.pageNo}">0</span>
      </a>
    </li>
    <li class="disabled">
      <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="onNext()">&gt;</a>
    </li>
    <li class="disabled">
      <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="onLast()">尾頁</a>
    </li>
  </ul>
</for  m>
 
 
----------
 
<script>
  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();
  }
</script>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人免费看毛片 | 欧美精品一级 | 久久福利国产 | 99re3 | 国产亚洲精品视频中文字幕 | 亚洲午夜在线 | av不卡免费在线观看 | 视屏一区| 特一级黄色毛片 | 啪啪毛片 | 久草在线新视觉 | 日本成人在线播放 | 在线中文资源免费 | 一级毛片免费高清视频 | 国产一级大片 | 久久久久九九九女人毛片 | 福利在线免费 | 午夜色视频在线观看 | 99亚洲精品 | 国产精品久久久久久久久久久久久久久 | 欧美城网站地址 | 欧美黄色一区 | 99精品视频免费 | 国产91丝袜在线播放 | 国产一国产一级毛片视频在线 | 久久久久久久久久性 | 九九热在线视频观看 | 欧美成人性色 | 亚洲精华液久久含羞草 | www.精品久久 | 88xx成人永久免费观看 | 国产www免费| 国产九九九九 | 美女视频网站黄色 | 蜜桃视频在线免费观看 | 日韩一级毛毛片 | 一区二区三区欧洲 | 中国黄色一级生活片 | 久久国产精品二国产精品 | 欧美成人亚洲 | 国产三级国产精品国产普男人 |