成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

J2EE如何實現(xiàn)分頁

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

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:國際域名空間、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、巴中網(wǎng)站維護、網(wǎng)站推廣。

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

先帖出這四個文件的源碼

1、Pager.java

package org.awc.commns;   /**  * 保存分頁信息的類  *   * @author Administrator  *   */ public class Pager {  private int totalRows; // 總行數(shù)   private int pageSize; // 每頁顯示的行數(shù)   private int currentPage; // 當(dāng)前頁號   private int totalPages; // 總頁數(shù)   private int startRow; // 當(dāng)前頁在數(shù)據(jù)庫中的起始行   private String linkUrl; // 要跳轉(zhuǎn)的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方法      /**  * 設(shè)定hibernate查詢的起始行數(shù)  *   * @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對象中獲取當(dāng)前頁號     String currentPage = httpServletRequest.getParameter("cpage");      // 如果當(dāng)前頁號為空,表示為***查詢該頁     // 如果不為空,則刷新pager對象,輸入當(dāng)前頁號等信息     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) {  //不相關(guān)代碼略去     int totalRows;// 記錄總行數(shù)     Pager pager = null; // 頁面信息     int pageSize = 15;     try {      totalRows = tservice.getTotalRowsBySubType(tsid); // 獲取指定主題總行數(shù)      pager = PagerHelper.getPager(request, totalRows, pageSize); // 初始化分頁對象      pager.setLinkUrl("index.asp?method=display&stid=" + tsid); // 設(shè)置跳轉(zhuǎn)路徑      request.setAttribute("pb", pager); // 將分頁信息保存在Request對象       topicList = tservice.findTopicByStid(tsid, pager); // 根據(jù)分頁信息查詢指定的主題      request.setAttribute("results", topicList);      return mapping.findForward("index");     } catch (Exception e) {      // TODO Auto-generated catch block      e.printStackTrace();     }     return mapping.findForward("fail");  }

JSP 頁面部分:

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

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

以上是“J2EE如何實現(xiàn)分頁”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

本文題目:J2EE如何實現(xiàn)分頁
URL網(wǎng)址:http://jinyejixie.com/article0/pggiio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站營銷型網(wǎng)站建設(shè)、網(wǎng)站策劃、ChatGPT、網(wǎng)站導(dǎo)航、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
甘孜| 凤山市| 安达市| 长武县| 厦门市| 平阴县| 商洛市| 安吉县| 同江市| 钟祥市| 雅安市| 措勤县| 嘉义市| 刚察县| 丰镇市| 左云县| 崇明县| 紫金县| 乐安县| 昌乐县| 望江县| 斗六市| 乐业县| 闽侯县| 东阿县| 疏勒县| 新丰县| 饶阳县| 宾川县| 霍林郭勒市| 寻乌县| 泽普县| 余姚市| 竹山县| 卓尼县| 松阳县| 扶沟县| 茂名市| 璧山县| 清远市| 高要市|