最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2017年08月07日 11:10:50   作者:LandiYax  
這篇文章主要為大家詳細介紹了Java實現(xiàn)簡單的分頁功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

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

分頁對象

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

private int pageSize;  //每頁顯示的條數(shù)
private int pageNo;   //當(dāng)前頁碼
public int getPageSize() {
  return pageSize;
}
public void setPageSize(int pageSize) {
  this.pageSize = pageSize;
}

控制層Controller

@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";
  }

頁面處理

//循環(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í)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java停止線程的3種方法

    Java停止線程的3種方法

    這篇文章主要分享Java停止線程的3種方法,分別是自定義中斷標(biāo)識符,停止線程、使用線程中斷方法interrupt停止線程、使用stop停止線程。下文詳細介紹需要的小伙伴可以參考一下
    2022-05-05
  • 詳解mybatis-plus配置找不到Mapper接口路徑的坑

    詳解mybatis-plus配置找不到Mapper接口路徑的坑

    這篇文章主要介紹了詳解mybatis-plus配置找不到Mapper接口路徑的坑,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • SpringMVC的自定義攔截器詳解

    SpringMVC的自定義攔截器詳解

    這篇文章主要介紹了SpringMVC的自定義攔截器詳解,攔截器只會攔截訪問的控制器方法, 如果訪問的是jsp/html/css/image/js是不會進行攔截的,需要的朋友可以參考下
    2023-07-07
  • java中將漢字轉(zhuǎn)換成拼音的實現(xiàn)代碼

    java中將漢字轉(zhuǎn)換成拼音的實現(xiàn)代碼

    java中將漢字轉(zhuǎn)換成拼音的實現(xiàn)代碼。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-10-10
  • MyBatis動態(tài)SQL標(biāo)簽的用法詳解

    MyBatis動態(tài)SQL標(biāo)簽的用法詳解

    這篇文章主要介紹了MyBatis動態(tài)SQL標(biāo)簽的用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • SpringBoot項目如何打可執(zhí)行war包

    SpringBoot項目如何打可執(zhí)行war包

    最近小編做了一個springboot項目,最后需要打成war包在容器中部署,下面小編給大家分享下SpringBoot項目如何打可執(zhí)行war包,感興趣的朋友一起看看吧
    2020-04-04
  • Java編程在ICPC快速IO實現(xiàn)源碼

    Java編程在ICPC快速IO實現(xiàn)源碼

    這篇文章主要介紹了Java Fast IO in ICPC實現(xiàn)源碼,具有一定參考價值,需要的朋友可以了解下。
    2017-09-09
  • Spring jcl及spring core源碼深度解析

    Spring jcl及spring core源碼深度解析

    這篇文章主要為大家介紹了Spring jcl及spring core源碼深度解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • 使用IntelliJ IDEA搭建SSM框架的圖文教程

    使用IntelliJ IDEA搭建SSM框架的圖文教程

    本文通過圖文并茂的形式給大家介紹了使用IntelliJ IDEA搭建SSM框架的教程,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-05-05
  • MyBatis實現(xiàn)動態(tài)查詢、模糊查詢功能

    MyBatis實現(xiàn)動態(tài)查詢、模糊查詢功能

    這篇文章主要介紹了MyBatis實現(xiàn)動態(tài)查詢、模糊查詢功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06

最新評論

闽侯县| 荣成市| 隆化县| 白朗县| 普兰店市| 平罗县| 涡阳县| 利津县| 东兰县| 吉木萨尔县| 福建省| 交口县| 余姚市| 丰原市| 定边县| 洛隆县| 平凉市| 拉孜县| 辉南县| 布拖县| 原平市| 乳山市| 楚雄市| 墨竹工卡县| 扶沟县| 谢通门县| 上饶县| 麻江县| 航空| 资溪县| 湖南省| 秦皇岛市| 全南县| 哈密市| 中江县| 蕉岭县| 清河县| 敖汉旗| 文水县| 永昌县| 凤阳县|