PageHelper分页插件使用

33 篇文章 0 订阅

http://blog.csdn.net/nz360/article/details/52326232


主要记录自己使用PageHelper分页的过程

需要的jar包

  1. <dependency>  
  2.         <groupId>com.github.pagehelper</groupId>  
  3.         <artifactId>pagehelper</artifactId>  
  4.         <version>4.0.1</version>  
  5.     </dependency>  


插件的配置(SessionFactory bean属性)

  1. <property name="plugins">  
  2.     <array>  
  3.       <bean class="com.github.pagehelper.PageHelper">  
  4.         <property name="properties">  
  5.           <value>  
  6.             dialect=oracle  
  7.           </value>  
  8.         </property>  
  9.       </bean>  
  10.     </array>  
  11.   </property>  


通用的JSP

  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>  
  2. <%@ include file="taglibs.jsp"%>  
  3. <div id="table_id_wrapper" class="dataTables_wrapper form-inline no-footer">  
  4.   
  5.     <div class="dataTables_length" style="float: left;">  
  6.         <label> 共 ${page.total } 条记录 | 每页显示: <select id="pageSize" name="table_id_length" aria-controls="table_id" class="form-control input-sm">  
  7.                 <option value="10" ${page.pageSize eq 10?'selected':'' }>10</option>  
  8.                 <option value="25" ${page.pageSize eq 25?'selected':'' }>25</option>  
  9.                 <option value="50" ${page.pageSize eq 50?'selected':'' }>50</option>  
  10.                 <!-- <option value="-1" ${page.pageSize eq -1?'selected':'' }>All</option>  -->  
  11.         </select>  
  12.         </label>  
  13.     </div>  
  14.   
  15.     <c:if test="${page.pages gt 1}">  
  16.         <div class="dataTables_paginate paging_simple_numbers" id="table_id_paginate" style="float: right;">  
  17.             <ul class="pagination">  
  18.                 <li class="paginate_button previous ${page.pageNum eq 1?'disabled':'paginate_button_js' }" data-index="1"><a href="javascript:void(0)">最前</a></li>  
  19.                 <li class="paginate_button previous ${page.pageNum eq 1?'disabled':'' }" aria-controls="table_id" tabindex="0" id="table_id_previous"><a href="javascript:void(0)">上页</a></li>  
  20.                 <c:forEach items="${page.navigatepageNums }" var="index">  
  21.                     <li class="paginate_button ${page.pageNum eq index?'active':'paginate_button_js' }" aria-controls="table_id" data-index="${index}"><a href="javascript:void(0)">${index }</a></li>  
  22.                 </c:forEach>  
  23.                 <li class="paginate_button next ${page.pageNum eq page.pages?'disabled':'' }" aria-controls="table_id" tabindex="0" id="table_id_next"><a href="javascript:void(0)">下页</a></li>  
  24.                 <li class="paginate_button next ${page.pageNum eq page.pages?'disabled':'paginate_button_js' }" data-index="${page.pages }"><a href="javascript:void(0)">最后</a></li>  
  25.                 <li class="display_inlineblock paginate_text"> 跳转到第 <input id="page" type="text" class="form-control input-sm" size="2"> 页  
  26.                     <button id="page-forward" type="button" class="btn btn-primary btn-xs">确定š</button></li>  
  27.             </ul>  
  28.         </div>  
  29.     </c:if>  
  30. </div>  
  31. <script type="text/javascript">  
  32. $(document).ready(function() {  
  33.       
  34.   
  35.     var totalPage = Number('${page.pages}');  
  36.     var $queryForm = $('#queryForm');  
  37.           
  38.     $queryForm.submit(function(){  
  39.         //$queryForm.find('input[name=page]').val($('#page').val());  
  40.         $queryForm.find('input[name=pageSize]').val($('#pageSize').val());  
  41.     });  
  42.       
  43.     $('#btnSubmit').on('click',function(){  
  44.         $queryForm.find('input[name=pageNum]').val(1);  
  45.         $queryForm.submit();  
  46.     });  
  47.       
  48.     $('#table_id_previous').on('click',function(){  
  49.         var page = Number($queryForm.find('input[name=pageNum]').val());  
  50.         if(page!=1){  
  51.             $queryForm.find('input[name=pageNum]').val(--page);  
  52.             $queryForm.submit();  
  53.         }  
  54.     });  
  55.       
  56.     $('#table_id_next').on('click',function(){  
  57.         var page = Number($queryForm.find('input[name=pageNum]').val());  
  58.         if((page+1) <= totalPage){  
  59.             $queryForm.find('input[name=pageNum]').val(++page);  
  60.             $queryForm.submit();  
  61.         }  
  62.     });  
  63.       
  64.     $('#page-forward').on('click',function(){  
  65.         var regPage = /^[1-9]*$/;  
  66.         var page = $('#page').val();  
  67.         if(!regPage.test(page)||page==""){  
  68.             return;  
  69.             }  
  70.         $queryForm.find('input[name=pageNum]').val($('#page').val());  
  71.         $queryForm.submit();  
  72.     });  
  73.       
  74.     $('li.paginate_button_js').on('click',function(){  
  75.         var page = Number($(this).data('index'));  
  76.         $queryForm.find('input[name=pageNum]').val(page);  
  77.         $queryForm.submit();  
  78.     });  
  79.   
  80.     $('#pageSize').on('change',function(){  
  81.         $queryForm.find('input[name=pageNum]').val(1);  
  82.         $queryForm.submit();  
  83.     });  
  84. })  
  85. </script>  
  86. <div class="clearfix"></div>  

使用时需要注意的地方

controller

  1. public String selectTransLogList(TransLog transLog,HttpServletRequest request,HttpSession session,PageInfo<TransLog> page, Model model){  
  2.     Logger.info("/selectOrderInfoList");  
  3.     if (page.getPageSize() == 0) {  
  4.         page.setPageSize(10);  
  5.         page.setPageNum(1);  
  6.     }  

service
  1. @Override  
  2. public List<TransLog> selectTransLogList(TransLog record, PageInfo<TransLog> page) {  
  3.     if(page!=null){  
  4.         PageHelper.startPage(page.getPageNum(), page.getPageSize());  
  5.     }  


JSP

默认form的id为queryForm,查询按钮id为btnSubmit

有其他需要可以重新设置分页参数

  1. var $queryForm = $('#queryForm');  
  2. $queryForm.find('input[name=pageNum]').val(1);  
  3. $queryForm.find('input[name=pageSize]').val($('#pageSize').val());  
  4. $queryForm.submit(); 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值