今天就跟大家聊聊有關利用Java如何實現(xiàn)前臺與后臺頁面分頁,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據(jù)這篇文章可以有所收獲。
站在用戶的角度思考問題,與客戶深入溝通,找到青山網(wǎng)站設計與青山網(wǎng)站推廣的解決方案,憑借多年的經驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站建設、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、虛擬空間、企業(yè)郵箱。業(yè)務覆蓋青山地區(qū)。
先上圖吧,大致如圖,也就提供個思路(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>數(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> <!-- 內容--> <div class="well"> <!-- 標題--> <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> <!-- 內容--> <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?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"> <!-- 判斷當前頁是否位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> <!-- 判斷當前頁和總頁數(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">»</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> </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"); //當前頁碼條件 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();//總記錄數(shù) long allPage;//總頁數(shù) //判斷是否能整除,能則直接,不能則+1; if((icount%pageSize)==0){ allPage=icount/pageSize; } else{ allPage=(icount/pageSize)+1; } System.out.println("總記錄:"+icount+";總頁數(shù):"+allPage+";當前頁碼:"+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); //當前頁碼 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<?> 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如何實現(xiàn)前臺與后臺頁面分頁有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
當前文章:利用Java如何實現(xiàn)前臺與后臺頁面分頁
本文鏈接:http://vcdvsql.cn/article14/iigige.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、虛擬主機、面包屑導航、定制開發(fā)、品牌網(wǎng)站建設、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)