欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Bootstrap Paginator+PageHelper實現(xiàn)分頁效果

 更新時間:2018年12月29日 14:52:05   作者:宏-  
這篇文章主要為大家詳細介紹了Bootstrap Paginator+PageHelper實現(xiàn)分頁效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

最近需要做一個分頁,找了挺多的前端分頁效果,發(fā)現(xiàn)Bootstrap Paginator分頁插件效果不錯,而我頁面也是用BootStrap做的響應式頁面,就做了實現(xiàn)一個簡單的分頁效果。

PageHelper地址

Bootstrap Paginator地址

在SpringBoot+Mybatis做分頁

1.首先添加maven依賴

<dependency>
 <groupId>com.github.pagehelper</groupId>
 <artifactId>pagehelper</artifactId>
 <version>4.1.6</version>
</dependency>

2.添加一個PageHelperConfig配置類

@Configuration
public class PageHelperConfig {
 @Bean
 public PageHelper pageHelper(){
 PageHelper pageHelper = new PageHelper();
 Properties properties = new Properties();
 properties.setProperty("offsetAsPageNum", "true");
 properties.setProperty("rowBoundsWithCount", "true");
 properties.setProperty("reasonable", "true");
 properties.setProperty("reasonable","true");
 properties.setProperty("pageSizeZero", "true");
 pageHelper.setProperties(properties);
 return pageHelper;
 }
}

3.寫一個用來存儲分頁信息的對象

public class PageBean<T> implements Serializable {
 private static final long serialVersionUID = 1L;
 private long total; //總記錄數(shù)
 private List<T> list; //結果集
 private int pageNum; //第幾頁
 private int pageSize; //每頁記錄數(shù)
 private int pages; // 總頁數(shù)
 private int size; //當前頁的數(shù)量<=pageSize

 public PageBean(List<T> list){
 if (list instanceof Page){
  Page<T> page = (Page<T>) list;
  this.pageNum = page.getPageNum();
  this.pageSize = page.getPageSize();
  this.total = page.getTotal();
  this.pages = page.getPages();
  this.list = page;
  this.size = page.size();
 }
 }
 public long getTotal() {
 return total;
 }
 public void setTotal(long total) {
 this.total = total;
 }
 public List<T> getList() {
 return list;
 }

 public void setList(List<T> list) {
 this.list = list;
 }
 public int getSize() {
 return size;
 }
 public void setSize(int size) {
 this.size = size;
 }
 public int getPageNum() {
 return pageNum;
 }
 public void setPageNum(int pageNum) {
 this.pageNum = pageNum;
 }
 public int getPageSize() {
 return pageSize;
 }

 public void setPageSize(int pageSize) {
 this.pageSize = pageSize;
 }
 public int getPages() {
 return pages;
 }
 public void setPages(int pages) {
 this.pages = pages;
 }
}

4.在Service接口和實現(xiàn)上,我們可以查詢到的把數(shù)據(jù)傳到PageBean

public interface ArticleService {
 PageBean<Article> selectArticleList(int pageNum, int pageSize);
}

@Service
public class ArticleServiceImpl implements ArticleService {
 @Autowired
 private ArticleMapper articleMapper;
 public PageBean<Article> selectArticleList(int pageNum, int pageSize) {
 PageHelper.startPage(pageNum, pageSize);
 List<Article> list = this.articleMapper.selectArticleList();
 return new PageBean<>(list);
 }
}

5.Controller

@RestController
public class ArticleJsonController {
 @Autowired
 private ArticleService articleService;
 @GetMapping("/articleManage/articlePageBean")
 public PageBean articlePageBean(int pageNum, int pageSize) {
 PageBean<Article> pageBean = this.articleService.selectArticleList(pageNum, pageSize);
 return pageBean;
 }
}

6.頁面用Ajax無刷新分頁,添加Bootstrap Paginator插件,bootstrap-paginator.js和bootstrap-responsive.min.css樣式

<div id="content" class="container"></div>
<div class="container">
 <div class="panel col-sm-10 panel-default">
 <div class="panel-body reply-top media">
  <div id="page"></div>
 </div>
 </div>
</div>

function pagehtml(pageNum) {
 var articleid = $("#articleNum").val();
 if (pageNum == 0){
 pageNum=1;
 } else {
 pageNum=pageNum;
 }
 $.ajax({
 url:"/TsengBlog/article/replyPage",
 type:"get",
 dataType:"json",
 data: {pageNum : pageNum, pageSize : 5, articleid : articleid },
 success:function (data) {
  var options = {
  alignment:"center",//居中顯示
          currentPage: data.pageNum,//當前頁數(shù)
          totalPages: data.pages,//總頁數(shù) 注意不是總條數(shù)
          pageUrl: function(type, page, current){
   if (page==current) {
   return "javascript:void(0)";
   } else {
   return "javascript:pagehtml("+page+")";
   }
  }
  };
  var html="";
  $.each(data.list, function (i, obj) {
  html += '<div class="panel col-sm-10 panel-default">'+
   '<div class="panel-body reply-top media">'+
   '<div class="col-sm-3 col-md-2 media-left">'+
   '<img src="image/Tseng.png" class="img-circle img-thumbnail" />'+
   '<p class="p-css">'+obj.name+'</p>'+
   '</div>'+
   '<div class="col-sm-10">'+
   '<div class="text-right">#'+i+'</div>'+
   '<hr/>'+
   '<div class="reply-content">'+
   '<span>'+obj.content+'</span>'+
   '</div>'+
   '</div>'+
   '</div>'+
   '</div>';
  });
  $("#content").empty();
  $("#content").append(html);
  $("#page").bootstrapPaginator(options);
 },
 error:function (error) {
  alert("error");
 }
 });
}

如果是Maven+SSM的,SSM整合就不多說了,網(wǎng)上有很多博客和例子整合。

1.mybatis.xml配置

<configuration>
 <plugins>
 <plugin interceptor="com.github.pagehelper.PageHelper">
  <property name="dialect" value="mysql" />
  <property name="pageSizeZero" value="true" />
        <property name="offsetAsPageNum" value="true" />  
        <property name="reasonable" value="true" />
        <property name="rowBoundsWithCount" value="true" />
 </plugin>
 </plugins>
</configuration>

2.service

public PageInfo page(pageNum, pageSize){
 PageHelper.startPage(pageNum, pageSize);
 List<ShopNav> lists = navService.getAllNav();
 PageInfo<ShopNav> pageInfo = new PageInfo<ShopNav>(lists);
  return PageInfo; 
}

頁面效果展示

如果大家還想深入學習,可以點擊這里進行學習,再為大家附3個精彩的專題:

Bootstrap學習教程

Bootstrap實戰(zhàn)教程

Bootstrap插件使用教程

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • JavaScript實現(xiàn)頁面一鍵全選或反選

    JavaScript實現(xiàn)頁面一鍵全選或反選

    這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)頁面一鍵全選或反選,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • TypeScript接口介紹

    TypeScript接口介紹

    這篇文章主要介紹了TypeScript接口,接口的作用就是為這些類型命名和為你的代碼或第三方代碼定義契約。下面我們一起進入文章看看TypeScript接口得具體定義吧,需要的朋友也可以參考一下
    2021-12-12
  • js阻止默認右鍵的下拉菜單方法

    js阻止默認右鍵的下拉菜單方法

    下面小編就為大家分享一篇js阻止默認右鍵的下拉菜單方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • 使用JavaScript實現(xiàn)圖片的自動輪播

    使用JavaScript實現(xiàn)圖片的自動輪播

    在網(wǎng)站開發(fā)中,經(jīng)常會遇到需要展示多張圖片并自動切換的需求,這就需要使用JavaScript來實現(xiàn)圖片的自動輪播功能,本文將通過一個簡單的例子,演示如何用JavaScript實現(xiàn)圖片的自動輪播,感興趣的同學可以自己動手試一試
    2023-09-09
  • js實現(xiàn)a標簽超鏈接提交form表單的方法

    js實現(xiàn)a標簽超鏈接提交form表單的方法

    這篇文章主要介紹了js實現(xiàn)a標簽超鏈接提交form表單的方法,涉及javascript針對表單操作的相關技巧,需要的朋友可以參考下
    2015-06-06
  • JavaScript設計模式策略模式案例分享

    JavaScript設計模式策略模式案例分享

    這篇文章主要介紹了JavaScript設計模式策略模式案例分享,策略設計模式就是指一個問題匹配多個解決方法,不一定要用到哪一個,而且有可能隨時增加多個方案
    2022-06-06
  • 最簡單的JS實現(xiàn)json轉(zhuǎn)csv的方法

    最簡單的JS實現(xiàn)json轉(zhuǎn)csv的方法

    這篇文章主要介紹了最簡單的JS實現(xiàn)json轉(zhuǎn)csv的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-01-01
  • js采用concat和sort將N個數(shù)組拼接起來的方法

    js采用concat和sort將N個數(shù)組拼接起來的方法

    這篇文章主要介紹了js采用concat和sort將N個數(shù)組拼接起來的方法,涉及JavaScript針對數(shù)組的合并與排序操作相關技巧,需要的朋友可以參考下
    2016-01-01
  • Javascript DOM事件操作小結(監(jiān)聽鼠標點擊、釋放,懸停、離開等)

    Javascript DOM事件操作小結(監(jiān)聽鼠標點擊、釋放,懸停、離開等)

    這篇文章主要介紹了Javascript DOM事件操作,結合實例形式總結分析了javascript監(jiān)聽鼠標點擊、釋放,懸停、離開等操作技巧,需要的朋友可以參考下
    2017-01-01
  • 詳解JavaScript之ES5的繼承

    詳解JavaScript之ES5的繼承

    這篇文章主要介紹了JavaScript之ES5的繼承的相關資料,文中示例代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07

最新評論