精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

日韩天天综合| a级日韩大片| 最新热久久免费视频| 97欧洲一区二区精品免费| 久久精品人妻一区二区三区| 日韩高清影视在线观看| 欧美午夜一区二区三区免费大片| 国产免费一区二区三区四在线播放| www黄色网址| 蜜桃久久av| 欧美成人黑人xx视频免费观看| 五月天激情小说| 国产成人a视频高清在线观看| 亚洲在线观看免费| 欧美日韩无遮挡| a在线观看视频| 国产精品入口| 精品自拍视频在线观看| 国产毛片欧美毛片久久久| 中文无码日韩欧| 欧美三级三级三级| 久久亚洲中文字幕无码| 成人在线直播| 国产三级一区二区三区| 国产传媒一区| 国产免费av电影| 日本成人在线视频网站| 69精品小视频| 国产一级视频在线观看| 99精品一区| 亚洲视频在线观看| 51调教丨国产调教视频| 都市激情亚洲欧美| 宅男在线国产精品| 日韩中文字幕a| 成人爽a毛片免费啪啪| 亚洲国产一区二区在线播放| 国产又大又长又粗又黄| www.亚洲资源| 国产亚洲短视频| 久久久com| 亚洲三级黄色片| 成人黄色网址在线观看| 96成人在线视频| 国产精品自拍电影| 久久爱另类一区二区小说| 国产精品入口夜色视频大尺度| 国产一级特黄视频| 韩国在线视频一区| 国内精品在线一区| 香蕉视频一区二区| 亚洲三级电影在线观看| 午夜精品99久久免费| 国产 日韩 欧美 成人| 精品9999| 91sa在线看| 六月丁香婷婷综合| 新狼窝色av性久久久久久| 97av在线视频免费播放| 日韩成人免费在线视频| 国产日本精品| 青草成人免费视频| 精品人妻一区二区三区免费看| 国产欧美成人| 日本中文字幕不卡免费| www.av88| 国产呦萝稀缺另类资源| 99热在线国产| 天堂av在线免费观看| 26uuu久久天堂性欧美| 欧美色欧美亚洲另类七区| 精品av中文字幕在线毛片| 中文字幕欧美日本乱码一线二线 | 最新中文字幕免费视频| 国产成人a视频高清在线观看| 91精品国产欧美日韩| 中文字幕一二三区| 亚洲综合图色| 色偷偷偷亚洲综合网另类| 免费在线观看h片| 亚洲福利国产| 国产精品678| 91在线视频国产| 成人av网址在线观看| 欧美中文娱乐网| 国产一二三区在线观看| 午夜伦欧美伦电影理论片| 黄色高清无遮挡| 成人在线日韩| 亚洲男人天堂视频| 999精品在线视频| 亚洲清纯自拍| 国产欧美 在线欧美| 亚洲精品中文字幕成人片| 久久久久亚洲蜜桃| 亚洲av综合色区| 欧美成人a交片免费看| 欧美二区在线观看| 污片免费在线观看| 婷婷精品进入| 日韩av电影院| 成人黄色免费视频| 久久久久国产精品麻豆| 成人在线免费观看视频网站| 成人免费看黄| 精品国产伦一区二区三区观看体验 | 精品日韩一区二区| 一级片视频免费看| 伊人久久亚洲影院| 国产在线拍偷自揄拍精品| 天天在线女人的天堂视频| 亚洲丝袜制服诱惑| 日韩精品无码一区二区三区免费| 日韩区一区二| 色久欧美在线视频观看| 日韩精品在线免费视频| 国产成人在线看| 亚洲午夜精品久久久久久浪潮| www.综合| 精品日韩一区二区三区| 神马久久精品综合| 日韩精彩视频在线观看| 精品高清视频| 福利写真视频网站在线| 欧美精品欧美精品系列| 97人妻人人揉人人躁人人| 一区二区福利| 国产自产精品| 丰满诱人av在线播放| 欧美一区二区三区免费视频| 欧美巨胸大乳hitomi| 亚洲一区成人| 精品欧美一区二区久久久伦| 欧美人动性xxxxz0oz| 91精品视频网| 永久免费看片直接| 激情综合网天天干| 亚洲高清视频一区| se69色成人网wwwsex| 亚洲国产免费av| www.国产成人| 成a人片亚洲日本久久| 无码人妻精品一区二区蜜桃网站| 久久久久毛片免费观看| 久久国产精品久久久久久久久久| 一级片视频免费| 国产精品不卡一区二区三区| 色91精品久久久久久久久 | 黄色网在线视频| 亚洲精品观看| 欧美精品18videos性欧美| 亚洲国产999| 性做久久久久久免费观看| 稀缺呦国内精品呦| 亚洲高清电影| 久久成人资源| 欧美羞羞视频| 中文字幕日韩欧美精品在线观看| 伊人色综合久久久| 国产精品亲子乱子伦xxxx裸| 污污网站免费看| 国产精品久久天天影视| 97se国产在线视频| gratisvideos另类灌满| 亚洲毛片在线免费观看| 波多野结衣高清视频| 亚洲国产精品ⅴa在线观看| 色www免费视频| 午夜久久tv| 精品国产综合久久| 日本成人三级电影| 日韩中文字幕免费| 黄色美女一级片| 欧美小视频在线观看| 亚洲午夜久久久久久久国产| 久久99久久精品| 成人免费在线视频播放| 日本妇女一区| 91精品久久久久| wwwwxxxx在线观看| 亚洲人成网站在线播| 一级片一区二区三区| 亚洲成人综合在线| 国产精品无码无卡无需播放器| 狠狠色狠狠色综合| 青娱乐自拍偷拍| 9999国产精品| 精品久久久久亚洲| 婷婷久久免费视频| 91精品国产91久久久久久久久 | 中文欧美字幕免费| 波多野结衣三级视频| 久久精品综合| 日韩精品久久一区二区| 久久99久久人婷婷精品综合 | 精品国产无码一区二区三区| 欧美日韩国产专区| 日日碰狠狠添天天爽| a美女胸又www黄视频久久| 色婷婷狠狠18| 国产精品毛片在线| 2022中文字幕| 日韩大片在线| 狠狠爱一区二区三区| 欧美黄页在线免费观看| 97超级碰在线看视频免费在线看| 欧美jizzhd69巨大| 亚洲毛片在线免费观看| 亚洲第一天堂影院| 欧美日韩一区二区三区不卡| 日韩欧美大片在线观看| 亚洲猫色日本管| 手机毛片在线观看| 久久综合五月天婷婷伊人| 日日夜夜精品视频免费观看| 免费观看日韩av| 欧美 国产 日本| 欧美特黄一级| 麻豆md0077饥渴少妇| 成人精品中文字幕| 久久综合福利| 激情视频极品美女日韩| 91手机在线观看| 日本a人精品| 国产精品高精视频免费| 国产理论在线| 97精品久久久中文字幕免费| 伊人在我在线看导航| 精品国产一区av| 色多多视频在线观看| 亚洲天堂av在线播放| 天堂a√中文在线| 亚洲精品国产美女| 天天摸天天干天天操| 日韩亚洲欧美中文三级| 国产理论片在线观看| 欧美日韩中字一区| 又色又爽又黄无遮挡的免费视频| 色综合久久天天| 国产一区二区99| 黑人欧美xxxx| 亚洲不卡视频在线观看| 欧美日韩中文在线| 91美女免费看| 欧美性猛交xxxx乱大交蜜桃| 在线观看亚洲欧美| 欧美日韩精品在线播放| 69成人免费视频| 色综合久久九月婷婷色综合| www.久久精品视频| 欧美主播一区二区三区| 国产精华7777777| 欧美精品乱人伦久久久久久| 国产又粗又猛又爽又黄的视频一| 欧美精品第1页| 午夜精品久久久久久久99| 精品久久人人做人人爱| 蜜桃视频污在线观看| 亚洲精品国产精品乱码不99按摩| 视频一区二区三区在线看免费看| 亚洲一二三在线| 视频一区二区三区不卡| 久久在线免费观看视频| 色操视频在线| 91国内精品久久| 欧美不卡高清一区二区三区| 国产精品视频内| 榴莲视频成人app| 国产精品一区二区三区在线| 日韩a级大片| 水蜜桃一区二区| 中文字幕免费一区二区| 老子影院午夜伦不卡大全| 亚洲综合国产| 中文字幕亚洲乱码| 国产成人精品亚洲午夜麻豆| 国产美女视频免费观看下载软件| 久久久久久久久久久黄色| 精品女人久久久| 亚洲国产成人91porn| 国产精品久久久久久人| 制服丝袜亚洲播放| 天天干视频在线观看| 色爱av美腿丝袜综合粉嫩av | 五月激情综合| 久久精品视频16| 蜜桃免费网站一区二区三区| 国产在线a视频| 久久精品人人做人人综合| 蜜桃视频最新网址| 天天色 色综合| 91一区二区视频| 精品香蕉一区二区三区| 国产在线激情| 欧美中文在线免费| 国产一区一区| 蜜桃导航-精品导航| 一区二区三区午夜探花| 国产免费黄视频| 国产综合色视频| 国产sm调教视频| 亚洲国产成人av| 国产又粗又大又黄| 亚洲精品网站在线播放gif| 操你啦在线视频| 青草热久免费精品视频| 日韩高清在线观看一区二区| 日韩久久久久久久久久久久久| 欧美视频二区| 中文字幕第38页| 久久久亚洲欧洲日产国码αv| 欧美成人精品欧美一级| 欧美亚洲高清一区二区三区不卡| 日韩在线观看视频一区二区三区| 俺去了亚洲欧美日韩| 吞精囗交69激情欧美| 精品国产乱码久久久久久郑州公司 | 国产乱子轮精品视频| 一区二区三区在线观看免费视频| 亚洲v日本v欧美v久久精品| 99精品在线视频观看| 在线观看精品自拍私拍| 高清不卡亚洲| 精品国产综合久久| 亚洲经典视频在线观看| 波多野吉衣在线视频| 亚洲人成网站在线| 中国一区二区视频| 亚洲小视频在线观看| av男人的天堂在线观看| 999视频在线免费观看| 91成人免费| 国产精欧美一区二区三区白种人| 亚洲国产岛国毛片在线| 精品视频一二三区| 亚洲欧美日韩中文在线制服| 亚洲精品福利电影| 欧美不卡福利| 免费永久网站黄欧美| 熟女少妇一区二区三区| 欧美午夜精品久久久久久浪潮| 人人妻人人玩人人澡人人爽| 欧美激情伊人电影| youjizz欧美| 国产一区一区三区| 国内一区二区在线| 成人免费视频国产免费观看| 欧美二区三区91| 动漫一区在线| 成人av片网址| 99精品欧美| 国产精品亚洲无码| 色屁屁一区二区| 国产精品99999| 国产精品尤物福利片在线观看| 日韩免费特黄一二三区| 99国产精品久久久久久| 亚洲精品成人精品456| 亚洲不卡免费视频| 久久久久久久电影一区| 欧美变态网站| 97在线播放视频| 国产精品亲子乱子伦xxxx裸| 97人妻精品一区二区三区视频| 免费不卡在线观看av| 91精品国产自产在线丝袜啪 | 黑鬼狂亚洲人videos| 日韩一区二区三区三四区视频在线观看| av观看在线| 精品国产一区二区三区麻豆小说 | 五月天丁香花婷婷| 一级特黄大欧美久久久| 亚洲日本香蕉视频| 国产精品美女主播| 一区二区影视| avtt香蕉久久| 欧美日韩国产小视频| 四虎影院观看视频在线观看 | 欧美片第1页综合| 屁屁影院国产第一页| 在线观看日韩电影| 国产激情视频在线| 久久伦理网站| 理论电影国产精品| 国产乡下妇女做爰毛片| 亚洲欧美中文另类| 久久99精品久久久野外观看| 免费av观看网址| 亚洲天堂中文字幕| 神马午夜在线观看| 成人国产在线激情| 亚洲久久一区| 麻豆精品国产免费| 日韩第一页在线| 亚洲色图综合| 国产精品视频一区二区三区四区五区| 国产精品成人免费| 天堂在线中文字幕| 999在线观看免费大全电视剧| 亚洲欧美网站|