溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

利用Java如何實(shí)現(xiàn)前臺與后臺頁面分頁

發(fā)布時間:2020-11-12 15:32:52 來源:億速云 閱讀:144 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關(guān)利用Java如何實(shí)現(xiàn)前臺與后臺頁面分頁,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

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

利用Java如何實(shí)現(xiàn)前臺與后臺頁面分頁

前臺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>數(shù)據(jù)交易貓</title> 
 <script type="text/javascript"> 

 //1分頁下,動態(tài)添加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(){

 })
 //根據(jù)頁數(shù)查詢數(shù)據(jù)列表
 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){ 
    $('#requireContentDiv').html(datas);          
   },
   error:function(){
    alert("失敗");
   },
   });
 }

 //根據(jù)下拉查詢數(shù)據(jù)列表
 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){ 
    $('#requireContentDiv').html(datas);          
   },
   error:function(){
    alert("失敗");
   },
   });
  }
 //根據(jù)下拉選擇排序方式
 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){ 
    $('#requireContentDiv').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>

    <!-- 內(nèi)容-->
    <div class="well">
    <!-- 標(biāo)題-->
     <div class="box"><h4><span class="glyphicon glyphicon-list" ></span>需求列表</h4></div>
    <!-- 篩選條件--> 
     <div class="box">
      <div class="row">
       <div 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"/>
       </div>
      </div>
     </div>     
    <!-- 內(nèi)容-->
      <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">

      <div class="data-down-box">
       <div class="row">
        <div class="col-xs-12">
         <h5 class="ellipsis"><a href="${pageContext.request.contextPath}/bid/bidAction_queryById&#63;id=${id}" rel="external nofollow" onclick="reward()">${title}</a></h5>
        </div>                         
       </div>
       <div class="row mrgTopSma">
        <div 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>
        </div>    
       </div>
       <hr/>  
      </div>

      </s:iterator>
     <!-- 分頁 -->
     <div id="rePagerDiv" class="rePagerDiv box">
      <nav>
       <ul class="pager">

        <!-- 判斷當(dāng)前頁是否位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">&laquo;</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>/&nbsp;${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>

       <!-- 判斷當(dāng)前頁和總頁數(shù),小于則顯示下一頁, --> 
       <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">&raquo;</span>
         </a>
        </li>
       </s:if>
       <li>
        <span class="skipPageSpan">跳轉(zhuǎn)到第&nbsp;
        <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>
        &nbsp;頁
        </span>
        </li>

       </ul>
      </nav>

     </div>      


     </div>     




 <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"); //當(dāng)前頁碼條件
   session.put("sessionReqSortValue","publishDatetime");
  }else{
  hql=hql+"order by r."+sortValue+" desc";
   ActionContext.getContext().put("sortValue", sortValue); //當(dāng)前頁碼條件
   session.put("sessionReqSortValue",sortValue);
  }
  long icount=requirementService.countAllRe();//總記錄數(shù)
  long allPage;//總頁數(shù)
  //判斷是否能整除,能則直接,不能則+1;
  if((icount%pageSize)==0){
   allPage=icount/pageSize;
  }
  else{
   allPage=(icount/pageSize)+1;
  }
  System.out.println("總記錄:"+icount+";總頁數(shù):"+allPage+";當(dāng)前頁碼:"+pageNo);
  List<Requirement> requiList=requirementService.queryByPage(hql, pageNo, pageSize);
  ActionContext.getContext().put("requiList", requiList);//需求列表
  ActionContext.getContext().put("icount", icount);//總記錄數(shù)
  ActionContext.getContext().put("allPage", allPage);//總頁數(shù)
  ActionContext.getContext().put("currentPage", pageNo); //當(dāng)前頁碼
  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

 //這里可能會報錯,就是直接查詢數(shù)據(jù)列表(使用了SSH)
 public long countAll() {
  List<&#63;> 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();
 }

看完上述內(nèi)容,你們對利用Java如何實(shí)現(xiàn)前臺與后臺頁面分頁有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI