• 技术文章 >Java >java教程

    Java实现分页的前台页面和后台代码详细介绍

    黄舟黄舟2018-05-26 10:12:03原创1662
    这篇文章主要为大家详细介绍了Java实现分页的前台页面和后台代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    本文实例为大家分享了Java分页展示的具体代码,供大家参考,具体内容如下

    先上图吧,大致如图,也就提供个思路(ps:使用了SSH框架)

    前台JSP页面

    <%@ page language="java" contentType="text/html; charset=utf-8"
     pageEncoding="utf-8"%>
    <%@taglib prefix="s" uri="/struts-tags"%>  
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
     <title>数据交易猫</title> 
     <script type="text/javascript"> 
    
     //1分页下,动态添加disable给分页按钮
     /*
     $(function(){
      var myPageId="#"+$("#hidCurrentPage").val();
      var myPageAId="#"+$("#hidCurrentPage").val()+" a";
      $(myPageAId).addClass('main-bgcolor');
      $(myPageAId).attr('href','javascript:void(0)')
      $(myPageId).addClass('disabled');
      $(myPageId).addClass('disabledControl');
    
     })
     */
     //
     $(function(){
    
     })
     //根据页数查询数据列表
     function queryRequirListByPage(i) {
      var pageNo=i;
      var sortValue=$('#hidSortValue').val();
      $.ajax({
       url:'${pageContext.request.contextPath}/bid/reAction_queryRequirListByPage.action',
       type:'POST',
       data:{
        sortValue:sortValue,
        pageNo:pageNo
       },
       success:function(datas){ 
        $('#requireContentp').html(datas);          
       },
       error:function(){
        alert("失败");
       },
       });
     }
    
     //根据下拉查询数据列表
     function selectPage(obj){
      var pageNo=obj.options[obj.selectedIndex].value;
      var sortValue=$('#hidSortValue').val();
      $.ajax({
       url:'${pageContext.request.contextPath}/bid/reAction_queryRequirListByPage.action',
       type:'POST',
       data:{
        sortValue:sortValue,
        pageNo:pageNo
       },
       success:function(datas){ 
        $('#requireContentp').html(datas);          
       },
       error:function(){
        alert("失败");
       },
       });
      }
     //根据下拉选择排序方式
     function selectSort(obj){
      var sortValue = obj.options[obj.selectedIndex].value;
      var pageNo =1;
      $.ajax({
       url:'${pageContext.request.contextPath}/bid/reAction_queryRequirListByPage.action',
       type:'POST',
       data:{sortValue:sortValue,
         pageNo:pageNo
        },
       success:function(datas){ 
        $('#requireContentp').html(datas);
    
    
       },
       error:function(){
        alert("失败");
       },
       });
      }
    
      $(document).ready(function(){
       var backSortValue=$('#backSortValue').val();
       console.log("backSortValue"+backSortValue)
       $("#category option").each(function(){
        var thisId='#'+this.id;
        var thisValue=this.value;
        if(backSortValue==thisValue){
         $(thisId).attr('selected','selected');
        }
       });
      })
     </script> 
    </head>
    <body>
    
        <!-- 内容-->
        <p class="well">
        <!-- 标题-->
         <p class="box"><h3><span class="glyphicon glyphicon-list" ></span>需求列表</h3></p>
        <!-- 筛选条件--> 
         <p class="box">
          <p class="row">
           <p class="col-xs-12">        
             <span>筛选:按</span>
             <select id="category" name="category" onchange="selectSort(this)">
              <option id="categoryTime" value="publishDatetime">最新</option>
              <option id="categoryPrice" value="price">价格降序</option>
              <input id="backSortValue" type="hidden" value="${sortValue}">
             </select>
             <hr class="mrgZero mrgTopSma"/>
           </p>
          </p>
         </p>     
        <!-- 内容-->
          <input type="hidden" name="hidCurrentPage2" id="hidCurrentPage" value="${currentPage}">
          <input type="hidden" id="hidAllPage" value="${allPage}">
          <input type="hidden" id="hidSortValue" value="${sortValue}">
          <s:iterator value="#requiList">
    
          <p class="data-down-box">
           <p class="row">
            <p class="col-xs-12">
             <h4 class="ellipsis"><a href="${pageContext.request.contextPath}/bid/bidAction_queryById?id=${id}" 
             rel="external nofollow" onclick="reward()">${title}</a></h4>
            </p>                         
           </p>
           <p class="row mrgTopSma">
            <p class="col-xs-12 ">      
             <p class="data-provider padLeftBig sec-color ellipsis">悬赏积分:<span>${price}</span></p>
             <p class="data-intro padLeftBig ellipsis sec-color">需求描述:<span>${requirementDescription}</span></p>
            </p>    
           </p>
           <hr/>  
          </p>
    
          </s:iterator>
         <!-- 分页 -->
         <p id="rePagerp" class="rePagerp box">
          <nav>
           <ul class="pager">
    
            <!-- 判断当前页是否位1,如果不为1则显示上一页, --> 
            <s:if test="1 == #currentPage">  
            </s:if>
            <s:else>
            <li>  
             <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" 
             rel="external nofollow" aria-label="Previous" onclick="queryRequirListByPage(${currentPage-1})">
             <span aria-hidden="true">«</span>
             </a>
            </li>  
            </s:else>
    
           <!-- 首页 -->        
           <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" 
           rel="external nofollow" onclick="queryRequirListByPage(1)">首页</a></li>
    
           <li>
            <span><span class="main-color">${currentPage}</span>/ ${allPage}页</span>        
           </li>
    
           <!-- 尾页 -->        
           <li><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" 
           rel="external nofollow" onclick="queryRequirListByPage(${allPage})">尾页</a></li>
    
           <!-- 判断当前页和总页数,小于则显示下一页, --> 
           <s:if test="#currentPage < #allPage">
            <li>
             <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" 
             rel="external nofollow" aria-label="Next" onclick="queryRequirListByPage(${currentPage+1})">
             <span aria-hidden="true">»</span>
             </a>
            </li>
           </s:if>
           <li>
            <span class="skipPageSpan">跳转到第 
            <select onchange="selectPage(this)">
             <s:iterator var="lst" begin="1" end="#allPage" step="1">          
              <s:if test="%{#lst == #currentPage}">
               <option selected="selected" value="<s:property/>" ><s:property/></option>  
               </s:if>
               <s:else>
                <option value="<s:property/>" ><s:property/></option>
               </s:else>
             </s:iterator>                    
            </select>
             页
            </span>
            </li>
    
           </ul>
          </nav>
    
         </p>      
    
    
         </p>     
    
     <hr/>
    
    </body>
    </html>

    action

     //查询需求列表
     public String queryRequirListByPage(){
      int pageSize=5;//每页记录
      String hql="select r from Requirement r where r.reStatus !=2 ";
      if(sortValue == null || sortValue.length() <= 0){
       hql=hql+"order by r.publishDatetime desc";
       ActionContext.getContext().put("sortValue", "publishDatetime"); //当前页码条件
       session.put("sessionReqSortValue","publishDatetime");
      }else{
      hql=hql+"order by r."+sortValue+" desc";
       ActionContext.getContext().put("sortValue", sortValue); //当前页码条件
       session.put("sessionReqSortValue",sortValue);
      }
      long icount=requirementService.countAllRe();//总记录数
      long allPage;//总页数
      //判断是否能整除,能则直接,不能则+1;
      if((icount%pageSize)==0){
       allPage=icount/pageSize;
      }
      else{
       allPage=(icount/pageSize)+1;
      }
      System.out.println("总记录:"+icount+";总页数:"+allPage+";当前页码:"+pageNo);
      List<Requirement> requiList=requirementService.queryByPage(hql, pageNo, pageSize);
      ActionContext.getContext().put("requiList", requiList);//需求列表
      ActionContext.getContext().put("icount", icount);//总记录数
      ActionContext.getContext().put("allPage", allPage);//总页数
      ActionContext.getContext().put("currentPage", pageNo); //当前页码
      session.put("sessionCurrentPage", pageNo);
      return "requireContent";
    
     }

    service

      public long countAllRe() {
      return requirementDao.countAllRe();
     }
      public List<T> queryByPage(String hql, int pageNo, int pageSize) {
      return requirementDao.queryByPage(hql, pageNo, pageSize);
     }

    dao

     //这里可能会报错,就是直接查询数据列表(使用了SSH)
     public long countAll() {
      List<?> l = getSession().createQuery("select count(*) from "
        + clazz.getSimpleName()).list();
      if (l != null && l.size() == 1 )
      {
       return (Long)l.get(0);
      }
      return 0;
     }
     public List<T> queryByPage(String hql, int pageNo, int pageSize) {
      return getSession()
        .createQuery(hql)
        .setFirstResult((pageNo - 1) * pageSize)
        .setMaxResults(pageSize)
        .list();
     }

    以上就是Java实现分页的前台页面和后台代码详细介绍的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Java,分页
    上一篇:详解Java easyui树形表格TreeGrid的示例代码(图) 下一篇:详细介绍Java内存区域与内存溢出异常
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• Java数据结构之AVL树详解• 怎么理解Java中的lambda表达式• 一起分析Java中异常的产生原因及处理• 详细整理java枚举的使用总结• 带你搞懂JAVA反射机制(总结分享)
    1/1

    PHP中文网