精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

J2EE實現(xiàn)分頁:Hibernate自定義標簽

開發(fā) 后端
本文通過例子講述了通用的分頁標簽實現(xiàn)。相信所有人都會覺得J2EE實現(xiàn)分頁相對于ASP.NET中處理分頁實在是一件很痛苦的事,本文代碼通過四個文件,一個action或Servlet,完成了在JSP頁面上的分頁。

關于分頁,網(wǎng)上看了很多文章,相信所有人都會覺得J2EE中實現(xiàn)分頁相對于ASP.NET中處理分頁實在是一件很痛苦的事..

下面就結合我做的例子說明一下通用的分頁標簽實現(xiàn).

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

先帖出這四個文件的源碼

1、Pager.java

  1. package org.awc.commns;  
  2.  
  3. /**  
  4. * 保存分頁信息的類  
  5.  
  6. * @author Administrator  
  7.  
  8. */ 
  9. public class Pager {  
  10. private int totalRows; // 總行數(shù)  
  11.  
  12. private int pageSize; // 每頁顯示的行數(shù)  
  13.  
  14. private int currentPage; // 當前頁號  
  15.  
  16. private int totalPages; // 總頁數(shù)  
  17.  
  18. private int startRow; // 當前頁在數(shù)據(jù)庫中的起始行  
  19.  
  20. private String linkUrl; // 要跳轉的URL  
  21.  
  22. public Pager() {  
  23. }  
  24.  
  25. public Pager(int _totalRows,int _pageSize) {  
  26.    totalRows = _totalRows;  
  27.    pageSize = _pageSize;  
  28.    totalPages = totalRows / pageSize;  
  29.    int mod = totalRows % pageSize;  
  30.    if (mod > 0) {  
  31.     totalPages++;  
  32.    }  
  33.    currentPage = 1;  
  34.    startRow = 0;  
  35. }  
  36.  
  37. //此處略去屬性的getter和setter方法  
  38.  
  39.    /**  
  40. * 設定hibernate查詢的起始行數(shù)  
  41.  
  42. * @param currentPage  
  43. */ 
  44.  
  45. public void setStart(int currentPage) {  
  46.    this.currentPage = currentPage;  
  47.    startRow = (currentPage - 1) * pageSize;  
  48. }  
  49. }  

2、PagerHelper.java

  1. import javax.servlet.http.*;  
  2.  
  3. /**  
  4. * 控制分頁的類  
  5.  
  6. * @author Administrator  
  7.  
  8. */ 
  9. public class PagerHelper {  
  10.  
  11. public static Pager getPager(HttpServletRequest httpServletRequest,  
  12.     int totalRows,int pageSize) {  
  13.  
  14.    // 定義pager對象,用于傳到頁面  
  15.    Pager pager = new Pager(totalRows,pageSize);  
  16.  
  17.    // 從Request對象中獲取當前頁號  
  18.    String currentPage = httpServletRequest.getParameter("cpage");  
  19.  
  20.    // 如果當前頁號為空,表示為***查詢該頁  
  21.    // 如果不為空,則刷新pager對象,輸入當前頁號等信息  
  22.    if (currentPage != null) {  
  23.     pager.setStart(Integer.parseInt(currentPage));  
  24.    }  
  25.    else {  
  26.     pager.setStart(1);  
  27.    }  
  28.     
  29.    return pager;  
  30. }  
  31. }  

3、PageTag.java

  1. import java.io.IOException;  
  2.  
  3. import javax.servlet.jsp.JspWriter;  
  4. import javax.servlet.jsp.tagext.TagSupport;  
  5.  
  6. public class PageTag extends TagSupport {  
  7. /**  
  8.  
  9. */ 
  10. private static final long serialVersionUID = 1L;  
  11.  
  12. private Pager pager;  
  13.  
  14. public int doStartTag() {  
  15.    try {  
  16.     JspWriter out = pageContext.getOut();  
  17.  
  18.     out.print("第 " + pager.getCurrentPage() + " 頁/共 " 
  19.       + (pager.getTotalPages()) + " 頁");  
  20.  
  21.     if (pager.getCurrentPage() == 1) {  
  22.      out.print("[最首頁]");  
  23.      out.print("[上一頁]");  
  24.     }  
  25.     if (pager.getCurrentPage() != 1) {  
  26.      out.print("[< a href='" + pager.getLinkUrl()  
  27.        + "&cpage=1'>最首頁< /a>]");  
  28.      out.print("[< a href='" + pager.getLinkUrl() + "&cpage=" 
  29.        + (pager.getCurrentPage() - 1) + "'>上一頁< /a>]");  
  30.     }  
  31.  
  32.     for (int i = pager.getCurrentPage() - 3; i < = pager  
  33.       .getCurrentPage() + 3; i++) {  
  34.      if (i < = 0 || i > pager.getTotalPages()) {  
  35.       continue;  
  36.      }  
  37.      if (i == pager.getCurrentPage()) {  
  38.       out  
  39.         .print("[< span style='color:#FF0000; border: 1px solid #cccccc; font-weight:bold; width:15px;text-align: center;'> " 
  40.           + i + " < /span>]");  
  41.      } else {  
  42.       out.print("[< a href='" + pager.getLinkUrl() + "&cpage=" + i  
  43.         + "'> " + i + " < /a>]");  
  44.      }  
  45.     }  
  46.     if (pager.getCurrentPage() == pager.getTotalPages()  
  47.       || pager.getTotalPages() == 0) {  
  48.      out.print("[下一頁]");  
  49.      out.print("[最末頁]");  
  50.  
  51.     }  
  52.     if (pager.getCurrentPage() != pager.getTotalPages()  
  53.       && pager.getTotalPages() != 0) {  
  54.      out.print("[< a href='" + pager.getLinkUrl() + "&cpage=" 
  55.        + (pager.getCurrentPage() + 1) + "'>下一頁< /a>]");  
  56.      out.print("[< a href='" + pager.getLinkUrl() + "&cpage=" 
  57.        + (pager.getTotalPages()) + "'>最末頁< /a>]");  
  58.     }  
  59.     out.flush();  
  60.    } catch (IOException ex) {  
  61.     ex.printStackTrace();  
  62.    }  
  63.    return super.SKIP_BODY;  
  64. }  
  65.  
  66. public int doEndTag() {  
  67.    return super.EVAL_PAGE;  
  68. }  
  69.  
  70. public void setPager(Pager pager) {  
  71.    this.pager = pager;  
  72. }  
  73.  
  74. public Pager getPager() {  
  75.    return pager;  
  76. }  
  77. }  

4、pagetag.tld

  1. < !DOCTYPE taglib  
  2. PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"  
  3.    "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"> 
  4. < taglib xmlns="http://java.sun.com/JSP/TagLibraryDescriptor"> 
  5. < tlib-version>1.0< /tlib-version> 
  6. < jsp-version>1.2< /jsp-version> 
  7. < short-name>My Tags< /short-name> 
  8. < tag> 
  9.     < name>page< /name> 
  10.     < tag-class>org.awc.commns.PageTag< /tag-class>< !-- PageTag.java具體項目路徑--> 
  11.     < body-content>empty< /body-content> 
  12.     < attribute> 
  13.       < name>pager< /name> 
  14.       < required>true< /required> 
  15.       < rtexprvalue>true< /rtexprvalue> 
  16.       < type>org.awc.commns.Pager< /type>< !-- Pager.java具體項目路徑--> 
  17.     < /attribute> 
  18. < /tag> 
  19. < /taglib> 

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

Action或者Servlet部分:

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

JSP 頁面部分:

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

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

這樣就在J2EE中實現(xiàn)了分頁功能。

【編輯推薦】

  1. Hibernate中使用Criteria查詢實例
  2. Hibernate中使用DetchedCriteria
  3. Hibernate之Criteria進階查詢
  4. Hibernate之Criteria基本查詢
  5. Criteria查詢語句的補充:高級特性
責任編輯:book05 來源: 百度博客
相關推薦

2009-06-16 13:27:59

Hibernate x

2009-06-16 11:14:00

Hibernate+SJ2EE應用開發(fā)

2009-06-23 08:06:46

J2EE體系架構J2EE模型J2EE設計模式

2009-06-10 14:10:23

J2EE學習J2EE是什么

2009-06-11 17:06:11

J2EE歷史Java EE概述

2009-06-10 13:37:06

J2EE可伸縮性J2EE靈活性J2EE維護

2009-06-23 16:48:26

J2EE常見問題J2EE平臺

2009-06-22 17:05:41

Java EEJava企業(yè)應用

2009-06-18 15:54:57

J2EE下使用JNDI

2009-06-22 17:34:40

J2EE架構

2009-06-23 08:12:48

J2EE調用存儲過程

2009-06-18 16:13:14

J2EE開發(fā)

2009-06-22 16:21:02

J2EE線程

2019-01-08 16:26:43

Java EEJ2EEJakarta EE

2011-05-16 14:07:58

J2EE

2009-06-11 17:11:07

J2EE設計模式工廠模式

2009-06-19 17:03:44

J2EE學習

2009-06-22 11:04:00

Jdbc存儲過程

2009-02-23 11:18:06

J2EE架構師Java

2009-06-11 17:19:47

J2EE設計模式Template
點贊
收藏

51CTO技術棧公眾號

五十路在线观看| 免费极品av一视觉盛宴| 黄色片网站免费| 91天天综合| 亚洲天堂网中文字| 国产精品一二| 亚洲成色777777女色窝| 欧美午夜免费| 91成年人视频| 99精品欧美| 精品国产一区二区在线| 国产 xxxx| 1769免费视频在线观看| 高清国产一区二区| 国产成人精品在线| av资源吧首页| 成人在线电影在线观看视频| 精品久久久久久亚洲综合网| 在线免费视频一区| 黄色激情在线播放| 亚洲素人一区二区| 日韩影视精品| 视频福利在线| 成人永久免费视频| 国产视频福利一区| 在线永久看片免费的视频| 欧美日韩亚洲三区| 久久久91精品国产| 超碰人人人人人人人| 亚洲精品推荐| 亚洲激情小视频| 国产手机免费视频| 日韩成人影视| 国产亚洲成年网址在线观看| 国产精品一区二区欧美| 国产伦精品一区二区三区视频痴汉 | 国产一区导航| 久久久久久久久久久国产| 中文av字幕在线观看| 欧美少妇网站| 婷婷六月综合亚洲| 真实国产乱子伦对白视频| 久操视频在线免费播放| 国产精品美女www爽爽爽| 欧美日韩一区二区三| 乱色精品无码一区二区国产盗| 国产一区欧美日韩| 成人欧美一区二区三区在线 | 黄色在线看片| 尤物在线观看一区| 亚洲精品少妇一区二区| 国产黄色在线免费观看| 亚洲欧美在线观看| 亚洲免费av网| 成人短视频在线观看| 国产精品不卡在线| 最新国产精品久久| 黄色网址在线免费播放| 亚洲精品视频在线观看免费| 女同性恋一区二区| 欧美videosex性极品hd| 亚洲狠狠爱一区二区三区| 免费视频爱爱太爽了| 欧美xxxx视频| 欧美午夜宅男影院在线观看| 北条麻妃在线一区| 丁香婷婷久久| 91精品久久久久久蜜臀| h无码动漫在线观看| 欧美videos另类精品| 精品国产福利在线| 日韩欧美xxxx| 91成人app| 日韩女同互慰一区二区| 性色av蜜臀av浪潮av老女人| 亚洲伊人春色| 中文字幕日韩在线播放| 国产麻豆视频在线观看| 精品成人在线| 国产v综合v亚洲欧美久久 | 欧美一卡二卡在线| 色哟哟无码精品一区二区三区| 欧美午夜寂寞| 日韩中文字幕免费看| 青娱乐免费在线视频| av成人激情| 国产男人精品视频| 黄色aaa大片| 国产亚洲精品久| 自拍偷拍一区二区三区| 九色porny自拍视频在线观看| 91黄色激情网站| 成人在线观看毛片| 亚洲人成在线网站| 67194成人在线观看| 午夜免费福利影院| 精品国产美女| 久久青草福利网站| 一卡二卡三卡在线观看| 99免费精品在线| 91精品视频在线播放| 亚洲国产999| 国产农村妇女精品| 欧日韩免费视频| 欧美videos粗暴| 亚洲电影中文字幕| 成年人二级毛片| 免费看的黄色欧美网站| 亚洲综合最新在线| 成人影院免费观看| 亚洲国产成人av| 日韩欧美亚洲另类| 国产一区二区三区探花| 欧美国产在线电影| 青青草精品在线视频| 美日韩精品视频| wwwxx欧美| 91伦理视频在线观看| 午夜日韩在线电影| 日本少妇一区二区三区| 不卡一区综合视频| 日本不卡高字幕在线2019| www视频在线| 一区在线中文字幕| 美女少妇一区二区| 国产精品羞羞答答在线观看| 欧美精品成人91久久久久久久| 这里只有精品6| 精品一区二区三区视频在线观看| 九九九九久久久久| 波多野结衣中文字幕久久| 欧美一级专区免费大片| 三级影片在线观看| 美女尤物国产一区| 相泽南亚洲一区二区在线播放| 在线能看的av网址| 精品偷拍各种wc美女嘘嘘| 久久久久久免费观看| 国产精品一级黄| 免费观看黄色的网站| 四虎国产精品永久在线国在线| 国产一区二区三区在线| 少妇久久久久久久| 国产蜜臀97一区二区三区| 中文字幕乱码人妻综合二区三区 | 精品国产青草久久久久福利| 国产黄色的视频| 国产精品a级| 亚洲直播在线一区| 婷婷色在线播放| 日韩女优av电影在线观看| 国产精品九九九九九九| 国产成人精品网址| 日韩美女爱爱视频| 天堂成人娱乐在线视频免费播放网站 | 国产精品久久久免费看| 激情亚洲综合在线| 99久re热视频精品98| 亚洲精品一区二区三区中文字幕| 欧美老少做受xxxx高潮| 亚洲精品18在线观看| 亚洲v中文字幕| 一区二区视频观看| 久久午夜精品| 亚洲综合视频一区| 日本少妇精品亚洲第一区| 欧美激情一二三| 色窝窝无码一区二区三区成人网站| 午夜精品久久久久久| 欧美高清性xxxx| 麻豆国产欧美一区二区三区| 亚洲va久久久噜噜噜| 羞羞视频在线观看不卡| 欧美精品一区男女天堂| 中文字幕av影院| 国产精品视频一二| 四虎1515hh.com| 一区二区三区国产在线| 日韩不卡av| 精品国产乱码一区二区三区| 久久久久久免费精品| 精品亚洲成a人片在线观看| 伊人性伊人情综合网| 国产伦精品一区三区精东| 爽好多水快深点欧美视频| 做爰高潮hd色即是空| 国产suv精品一区二区四区视频| 青草青草久热精品视频在线观看| 日本美女在线中文版| 欧美成人一区二区三区在线观看| 精品欧美一区二区三区免费观看| 国产精品色呦呦| 人妻av一区二区| 免费的国产精品| av女优在线播放| 婷婷精品进入| 国产美女扒开尿口久久久| 青春草在线免费视频| 亚洲色图狂野欧美| www.色呦呦| 欧美午夜一区二区三区| 日本一级黄色录像| 中文字幕在线免费不卡| 亚洲第九十七页| 国产精品一区二区在线看| 免费日韩中文字幕| 亚洲黄色大片| 天天综合五月天| 国产一区二区三区四区五区| 国产精品一区二区三区精品| 日韩综合av| 国产国语刺激对白av不卡| 激情aⅴ欧美一区二区欲海潮| 日韩中文娱乐网| 美丽的姑娘在线观看免费动漫| 日韩精品一区二区三区在线播放| 中文字幕一二三四| 色婷婷久久久久swag精品 | 亚洲mm色国产网站| 成人亚洲综合| 国产成人福利视频| 中文在线免费二区三区| 欧美交受高潮1| 97超碰在线公开在线看免费| 这里只有精品丝袜| 国产在线观看高清视频| 日韩精品在线观看网站| 色婷婷av一区二区三区之e本道| 日韩一区二区三区视频| 国产又黄又猛又爽| 欧美剧情片在线观看| 精品国产青草久久久久96| 一本一本久久a久久精品综合麻豆| 日本三级欧美三级| 亚洲综合一区二区三区| 免费在线观看av网址| 亚洲免费观看高清完整版在线观看 | 污污网站在线免费观看| 精品国产伦一区二区三区观看体验| 国产乱人乱偷精品视频a人人澡| 欧美性感一类影片在线播放| 高潮毛片又色又爽免费| 色视频成人在线观看免| 中文人妻av久久人妻18| 色www精品视频在线观看| 免费看日批视频| 欧洲av一区二区嗯嗯嗯啊| jizz18女人高潮| 欧美激情在线一区二区三区| 99久久精品免费视频| 欧美激情一区二区三区四区| 免费成人深夜天涯网站| 欧美国产精品中文字幕| 国产传媒视频在线| 亚洲三级在线播放| 青娱乐国产在线| 黄色一区二区三区| 91精品国产高清一区二区三密臀| 91久久精品一区二区三| 亚洲天堂网视频| 欧美精品tushy高清| 精品人妻一区二区三区换脸明星 | 亚洲成a人片在线www| 成人激情av网| 粉嫩av懂色av蜜臀av分享| 免费观看一级特黄欧美大片| 亚洲天堂国产视频| 国产高清不卡一区| 国产成人精品无码片区在线| 久久夜色精品一区| 极品人妻一区二区| www.日韩在线| 欧美做受高潮6| 亚洲日本在线天堂| 国产特黄大片aaaa毛片| 欧洲精品在线观看| www.久久综合| 亚洲天堂影视av| 超碰免费在线播放| 97精品久久久中文字幕免费| 高清av一区| 99re在线| 欧美一区二区性| 999一区二区三区| 全国精品久久少妇| 国产精品一区二区在线免费观看| 久久嫩草精品久久久久| 欧美色视频一区二区三区在线观看| 99久久精品国产精品久久| 91亚洲一区二区| 99精品久久只有精品| 久久一级免费视频| 亚洲h精品动漫在线观看| 中文字幕乱码视频| 亚洲精品一区二区三区99| 国产粉嫩一区二区三区在线观看| 欧美乱妇40p| 亚洲日本在线观看视频| 国产精品日韩一区二区免费视频 | 综合色婷婷一区二区亚洲欧美国产| 亚洲精品影院在线观看| 婷婷免费在线观看| 91麻豆免费观看| 欧美人禽zoz0强交| 在线欧美一区二区| 人妻精品一区一区三区蜜桃91| 中文字幕在线成人| jizz内谢中国亚洲jizz| 99久久精品无码一区二区毛片 | 日韩中文字幕三区| 国产盗摄精品一区二区三区在线| 欧美人与性囗牲恔配| 亚洲国产一区二区三区| 91在线你懂的| 中文字幕日韩在线观看| 亚洲淫成人影院| 国产欧美一区二区三区不卡高清| 亚洲欧美偷拍自拍| 五月婷婷激情久久| 久久这里只有精品6| 久久久久久蜜桃| 日韩欧美一级精品久久| 免费观看成人高潮| 国产精品露脸自拍| 国产一区二区三区四区大秀| 欧美a在线视频| 91丨porny丨户外露出| 久久久美女视频| 日韩欧美国产不卡| 污视频网站在线免费| 亚洲综合社区网| 欧美日韩一区二区高清| 欧美一级大片免费看| 伊人一区二区三区| 亚洲av永久无码国产精品久久| 久久伊人精品视频| 黄色污污视频在线观看| 97人摸人人澡人人人超一碰| 我不卡神马影院| 在线免费看v片| 亚洲日本va在线观看| 中文字幕二区三区| 最近2019免费中文字幕视频三| 欧美色片在线观看| 午夜精品美女久久久久av福利| 三级欧美韩日大片在线看| 国产精品毛片一区二区| 色哟哟精品一区| 成人午夜影视| 国产在线久久久| 99久久婷婷这里只有精品| 欧美激情第一区| 亚洲午夜在线观看视频在线| 亚洲第一精品网站| 97碰碰碰免费色视频| 日韩影视高清在线观看| 成年人网站大全| 中文字幕一区二区三区不卡在线| 国产一区二区在线不卡| 不卡伊人av在线播放| 亚洲天堂av资源在线观看| 国产在线播放观看| 久久只精品国产| 一区二区三区www污污污网站| 久久精品电影网| 成人三级毛片| 国产一区亚洲二区三区| 中文字幕在线观看一区| 亚洲成人77777| 青草成人免费视频| 无码一区二区三区视频| 精品人妻一区二区三区日产| 色诱亚洲精品久久久久久| 77777影视视频在线观看| 97人人干人人| 视频一区视频二区在线观看| 伊人久久久久久久久久久久久久| 日韩免费一区二区三区在线播放| а√在线中文网新版地址在线| 日韩精品伦理第一区| 国产一区二三区| 二区视频在线观看| 日韩视频亚洲视频| 欧美激情极品| 天堂在线中文在线| 精品美女国产在线| 秋霞午夜理伦电影在线观看| 国产精品一区二| 美女视频黄频大全不卡视频在线播放 | 精品毛片在线观看| 奇米4444一区二区三区 | 国产精品久久免费| 992tv成人免费视频| 欧美激情成人| 草草地址线路①屁屁影院成人| 欧美绝品在线观看成人午夜影视| 是的av在线| 黄色一级片国产| 中文字幕精品在线不卡| 午夜小视频在线播放|