日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java基础——Servlet(六)分页相关

發布時間:2025/7/25 java 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java基础——Servlet(六)分页相关 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前面寫了Servlet(一)到(五),主要是在網上搜羅的視頻、對分頁這塊還是不太清楚。于是有找到一些視頻,重新學習了一下。主要是對分頁的認識和設計思路。也是為了方便我以后回憶一下。。

一、分頁常識

pageSize //每頁有多少條記錄 --用戶設定

rowCount //一共有多少條記錄 --從數據庫中查的

pageIndex //當前查看的是第幾頁 --用戶選擇的

beginRow //從第幾行開始查詢 --計算得到 pageSize*(pageIndex-1)

pageCount //總共有多少頁 --計算

?

//栗子 if(rowCount%pageSize==0){pageCount=rowCount/pageSize;}else{pageCount=rowCount/pageSize+1 }

二、PageInfo 類

public class PageInfo {private int pageSize; // 頁面大小private int pageCount; // 頁面總數private int pageIndex; // 當前頁private int beginRow; // 開始頁private int rowCount; // 總條數private boolean hasNext; // 是否有后一頁private boolean hasPre; // 是否有前一頁public int getPageSize() {return pageSize;}public void setPageSize(int pageSize) {this.pageSize = pageSize;}public int getPageCount() {return pageCount;}public void setPageCount(int pageCount) {this.pageCount = pageCount;}public int getPageIndex() {return pageIndex;}public void setPageIndex(int pageIndex) {this.pageIndex = pageIndex;}public int getBeginRow() {return beginRow;}public void setBeginRow(int beginRow) {this.beginRow = beginRow;}public int getRowCount() {return rowCount;}public void setRowCount(int rowCount) {this.rowCount = rowCount;}public boolean isHasNext() {return hasNext;}public void setHasNext(boolean hasNext) {this.hasNext = hasNext;}public boolean isHasPre() {return hasPre;}public void setHasPre(boolean hasPre) {this.hasPre = hasPre;}}

三、分頁工具類

public class PageUtil {public static PageInfo getPageInfo(int pageSize, int rowCount, int pageIndex) {PageInfo p=new PageInfo(); pageSize=getPageSize(pageSize);p.setPageSize(pageSize);p.setRowCount(rowCount);p.setPageCount(getPageCount(pageSize,rowCount));p.setBeginRow(getBeginRow(pageSize,pageIndex));p.setHasNext(isHasNext(pageIndex,getPageCount(pageSize,rowCount)));p.setHasPre(isHasPre(pageIndex));p.setPageIndex(pageIndex);return p;}//判斷當是否有前一頁private static boolean isHasPre(int pageIndex) {if(pageIndex==1){return false;}else {return true;}}//判斷是不是有下一頁private static boolean isHasNext(int pageIndex, int pageCount) {if(pageIndex==pageCount||pageCount==0){return false;}else{return true;}}//計算從第幾行開始查詢private static int getBeginRow(int pageSize, int pageIndex) {return pageSize*(pageIndex-1);}//計算頁的總數private static int getPageCount(int pageSize, int rowCount) {if(rowCount%pageSize==0){return rowCount/pageSize;}else{return rowCount/pageSize+1;} }//返回pageSizeprivate static int getPageSize(int pageSize) {return pageSize==0?10:pageSize;}}

四、頁面

<script type="text/javascript">function subForm(){//form1.action="AdminServlet?flag=manage"; form1.submit();}</script><body><form action ="AdminServlet" method="post" name="form1"><input type="hidden" name=flag value="manage" /><table width=80% border=1 cellspacing=0s><c:forEach var="u" items="${adminList}"><tr><td>${u.id }</td><td>${u.userName }</td><td>${u.password }</td><td>${u.note }</td><td><a href="admin/admin_edit.jsp?id=${u.id }" >修改</a> | <a οnclick="return confirm('確定要刪除嗎?')"
href="AdminServlet?flag=del&id=${u.id }" >刪除</a></td></tr></c:forEach></table>共有 ${ pageInfo.rowCount} 條記錄,當前第 ${ pageInfo.pageIndex} 頁, 共 ${ pageInfo.pageCount}頁 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<c:choose><c:when test="${pageInfo.hasPre }"><a href="AdminServlet?flag=manage&pageIndex=1" >首頁</a>
<a href="AdminServlet?flag=manage&pageIndex=${pageInfo.pageIndex-1 }" >前一頁 </a> </c:when><c:otherwise>首頁 前一頁</c:otherwise></c:choose><c:choose><c:when test="${pageInfo.hasNext }"><a href="AdminServlet?flag=manage&pageIndex=${pageInfo.pageIndex+1 }" >下一頁</a>
<a href="AdminServlet?flag=manage&pageIndex=${pageInfo.pageCount }" >尾頁 </a> </c:when><c:otherwise>下一頁 尾頁</c:otherwise></c:choose><a href="javascript:subForm()" >轉到</a> 第 <input type="text" name="pageIndex" value=${pageInfo.pageIndex }></form>

五、控制層

private void manage(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {int pageSize=4;int rowCount=_dao.getUserCount();String pageIndexStr=request.getParameter("pageIndex");int pageIndex=1;if(!StrUtil.isNullOrEmpty(pageIndexStr)){pageIndex=Integer.parseInt(pageIndexStr); }PageInfo pageInfo=PageUtil.getPageInfo(pageSize,rowCount,pageIndex);List<UserInfo> adminList=_dao.getUserList(pageInfo);request.setAttribute("adminList", adminList);request.setAttribute("pageInfo", pageInfo);request.getRequestDispatcher("/admin/admin_manage.jsp").forward(request, response); }

?

轉載于:https://www.cnblogs.com/1693977889zz/p/7485497.html

總結

以上是生活随笔為你收集整理的Java基础——Servlet(六)分页相关的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。