中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

J2EE如何實現分頁

發布時間:2021-11-03 18:01:49 來源:億速云 閱讀:109 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“J2EE如何實現分頁”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“J2EE如何實現分頁”這篇文章吧。

先說明一下J2EE實現分頁所需要用到的文件Pager.java (不用說,肯定是保存分頁信息的了),PagerHelper.java(處理頁面信息) ,PageTag.java(自定義分頁標簽),還有一個是pagetag.tld文件,分頁標簽描述文件.

先帖出這四個文件的源碼

1、Pager.java

package org.awc.commns;   /**  * 保存分頁信息的類  *   * @author Administrator  *   */ public class Pager {  private int totalRows; // 總行數   private int pageSize; // 每頁顯示的行數   private int currentPage; // 當前頁號   private int totalPages; // 總頁數   private int startRow; // 當前頁在數據庫中的起始行   private String linkUrl; // 要跳轉的URL   public Pager() {  }   public Pager(int _totalRows,int _pageSize) {     totalRows = _totalRows;     pageSize = _pageSize;     totalPages = totalRows / pageSize;     int mod = totalRows % pageSize;     if (mod > 0) {      totalPages++;     }     currentPage = 1;     startRow = 0;  }   //此處略去屬性的getter和setter方法      /**  * 設定hibernate查詢的起始行數  *   * @param currentPage  */  public void setStart(int currentPage) {     this.currentPage = currentPage;     startRow = (currentPage - 1) * pageSize;  }  }

2、PagerHelper.java

import javax.servlet.http.*;   /**  * 控制分頁的類  *   * @author Administrator  *   */ public class PagerHelper {   public static Pager getPager(HttpServletRequest httpServletRequest,      int totalRows,int pageSize) {      // 定義pager對象,用于傳到頁面     Pager pager = new Pager(totalRows,pageSize);      // 從Request對象中獲取當前頁號     String currentPage = httpServletRequest.getParameter("cpage");      // 如果當前頁號為空,表示為***查詢該頁     // 如果不為空,則刷新pager對象,輸入當前頁號等信息     if (currentPage != null) {      pager.setStart(Integer.parseInt(currentPage));     }     else {      pager.setStart(1);     }         return pager;  }  }

3、PageTag.java

import java.io.IOException;   import javax.servlet.jsp.JspWriter;  import javax.servlet.jsp.tagext.TagSupport;   public class PageTag extends TagSupport {  /**  *   */ private static final long serialVersionUID = 1L;   private Pager pager;   public int doStartTag() {     try {      JspWriter out = pageContext.getOut();       out.print("第 " + pager.getCurrentPage() + " 頁/共 "       + (pager.getTotalPages()) + " 頁");       if (pager.getCurrentPage() == 1) {       out.print("[最首頁]");       out.print("[上一頁]");      }      if (pager.getCurrentPage() != 1) {       out.print("[< a href='" + pager.getLinkUrl()         + "&cpage=1'>最首頁< /a>]");       out.print("[< a href='" + pager.getLinkUrl() + "&cpage="        + (pager.getCurrentPage() - 1) + "'>上一頁< /a>]");      }       for (int i = pager.getCurrentPage() - 3; i < = pager        .getCurrentPage() + 3; i++) {       if (i < = 0 || i > pager.getTotalPages()) {        continue;       }       if (i == pager.getCurrentPage()) {        out          .print("[< span style='color:#FF0000; border: 1px solid #cccccc; font-weight:bold; width:15px;text-align: center;'> "           + i + " < /span>]");       } else {        out.print("[< a href='" + pager.getLinkUrl() + "&cpage=" + i          + "'> " + i + " < /a>]");       }      }      if (pager.getCurrentPage() == pager.getTotalPages()        || pager.getTotalPages() == 0) {       out.print("[下一頁]");       out.print("[最末頁]");       }      if (pager.getCurrentPage() != pager.getTotalPages()        && pager.getTotalPages() != 0) {       out.print("[< a href='" + pager.getLinkUrl() + "&cpage="        + (pager.getCurrentPage() + 1) + "'>下一頁< /a>]");       out.print("[< a href='" + pager.getLinkUrl() + "&cpage="        + (pager.getTotalPages()) + "'>最末頁< /a>]");      }      out.flush();     } catch (IOException ex) {      ex.printStackTrace();     }     return super.SKIP_BODY;  }   public int doEndTag() {     return super.EVAL_PAGE;  }   public void setPager(Pager pager) {     this.pager = pager;  }   public Pager getPager() {     return pager;  }  }

4、pagetag.tld

< !DOCTYPE taglib  PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"     "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"> < taglib xmlns="http://java.sun.com/JSP/TagLibraryDescriptor"> < tlib-version>1.0< /tlib-version> < jsp-version>1.2< /jsp-version> < short-name>My Tags< /short-name> < tag>     < name>page< /name>     < tag-class>org.awc.commns.PageTag< /tag-class>< !-- PageTag.java具體項目路徑-->     < body-content>empty< /body-content>     < attribute>       < name>pager< /name>       < required>true< /required>       < rtexprvalue>true< /rtexprvalue>       < type>org.awc.commns.Pager< /type>< !-- Pager.java具體項目路徑-->     < /attribute> < /tag> < /taglib>

以上四個文件為固定,其余部分代碼示例如下:

Action或者Servlet部分:

public ActionForward display(ActionMapping mapping, ActionForm form,      HttpServletRequest request, HttpServletResponse response) {  //不相關代碼略去     int totalRows;// 記錄總行數     Pager pager = null; // 頁面信息     int pageSize = 15;     try {      totalRows = tservice.getTotalRowsBySubType(tsid); // 獲取指定主題總行數      pager = PagerHelper.getPager(request, totalRows, pageSize); // 初始化分頁對象      pager.setLinkUrl("index.asp?method=display&stid=" + tsid); // 設置跳轉路徑      request.setAttribute("pb", pager); // 將分頁信息保存在Request對象       topicList = tservice.findTopicByStid(tsid, pager); // 根據分頁信息查詢指定的主題      request.setAttribute("results", topicList);      return mapping.findForward("index");     } catch (Exception e) {      // TODO Auto-generated catch block      e.printStackTrace();     }     return mapping.findForward("fail");  }

JSP 頁面部分:

1、在頁面開始部分導入標簽庫文件 :< %@ taglib prefix="page" uri="WEB-INF/pageTld/pagetag.tld"%> --具體路徑視具體項目而定

2、在需要加入分頁信息的部分加上< page:page pager="${pb}" /> 即可。

以上是“J2EE如何實現分頁”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海阳市| 礼泉县| 淮滨县| 乌兰浩特市| 故城县| 墨玉县| 嘉峪关市| 二手房| 应城市| 绥化市| 行唐县| 望谟县| 文安县| 廉江市| 彰化县| 永顺县| 柯坪县| 泰宁县| 城市| 句容市| 嘉黎县| 来宾市| 灵宝市| 柳江县| 松桃| 普兰县| 修文县| 伊宁市| 富源县| 澄城县| 偃师市| 衡水市| 筠连县| 巴彦淖尔市| 吴桥县| 大竹县| 阜新市| 璧山县| 土默特左旗| 杭锦旗| 象州县|