>Java >java지도 시간 >페이징 Java 구현의 프런트 엔드 페이지 및 배경 코드에 대한 자세한 소개

페이징 Java 구현의 프런트 엔드 페이지 및 배경 코드에 대한 자세한 소개

黄舟
黄舟원래의
2018-05-26 10:12:032635검색

이 글에서는 페이징을 구체적으로 구현하기 위한 자바의 프론트엔드 페이지와 백엔드 코드를 주로 소개하고 있는데, 관심 있는 친구들이 참고하면 좋을 것 같습니다.

이 글의 예시는 공유합니다. 페이지 매김에 표시되는 구체적인 코드는 참고용입니다. 구체적인 내용은 다음과 같습니다.

먼저 그림을 살펴보겠습니다. 이 그림도 대략적인 아이디어를 제공합니다(ps: SSH 프레임워크 사용)

페이징 Java 구현의 프런트 엔드 페이지 및 배경 코드에 대한 자세한 소개

프런트엔드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(&#39;main-bgcolor&#39;);
  $(myPageAId).attr(&#39;href&#39;,&#39;javascript:void(0)&#39;)
  $(myPageId).addClass(&#39;disabled&#39;);
  $(myPageId).addClass(&#39;disabledControl&#39;);

 })
 */
 //
 $(function(){

 })
 //根据页数查询数据列表
 function queryRequirListByPage(i) {
  var pageNo=i;
  var sortValue=$(&#39;#hidSortValue&#39;).val();
  $.ajax({
   url:&#39;${pageContext.request.contextPath}/bid/reAction_queryRequirListByPage.action&#39;,
   type:&#39;POST&#39;,
   data:{
    sortValue:sortValue,
    pageNo:pageNo
   },
   success:function(datas){ 
    $(&#39;#requireContentp&#39;).html(datas);          
   },
   error:function(){
    alert("失败");
   },
   });
 }

 //根据下拉查询数据列表
 function selectPage(obj){
  var pageNo=obj.options[obj.selectedIndex].value;
  var sortValue=$(&#39;#hidSortValue&#39;).val();
  $.ajax({
   url:&#39;${pageContext.request.contextPath}/bid/reAction_queryRequirListByPage.action&#39;,
   type:&#39;POST&#39;,
   data:{
    sortValue:sortValue,
    pageNo:pageNo
   },
   success:function(datas){ 
    $(&#39;#requireContentp&#39;).html(datas);          
   },
   error:function(){
    alert("失败");
   },
   });
  }
 //根据下拉选择排序方式
 function selectSort(obj){
  var sortValue = obj.options[obj.selectedIndex].value;
  var pageNo =1;
  $.ajax({
   url:&#39;${pageContext.request.contextPath}/bid/reAction_queryRequirListByPage.action&#39;,
   type:&#39;POST&#39;,
   data:{sortValue:sortValue,
     pageNo:pageNo
    },
   success:function(datas){ 
    $(&#39;#requireContentp&#39;).html(datas);


   },
   error:function(){
    alert("失败");
   },
   });
  }

  $(document).ready(function(){
   var backSortValue=$(&#39;#backSortValue&#39;).val();
   console.log("backSortValue"+backSortValue)
   $("#category option").each(function(){
    var thisId=&#39;#&#39;+this.id;
    var thisValue=this.value;
    if(backSortValue==thisValue){
     $(thisId).attr(&#39;selected&#39;,&#39;selected&#39;);
    }
   });
  })
 </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

아아아아

다오

아아아아

위 내용은 페이징 Java 구현의 프런트 엔드 페이지 및 배경 코드에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.