国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
使用pager-taglib.jar實(shí)現(xiàn)的分頁(yè)技術(shù)
//1.導(dǎo)入pager-taglib.jar包;
//2.引入pager-taglib標(biāo)簽:<%@ taglib prefix="pg"  uri="//3.建立PagerModel類:
public class PagerModel {
 /**
  * 總記錄數(shù)
  */
 private int total;
 /**
  * 當(dāng)前頁(yè)結(jié)果集
  */
 private List datas;
 public List getDatas() {
  return datas;
 }
 public void setDatas(List datas) {
  this.datas = datas;
 }
 public int getTotal() {
  return total;
 }
 public void setTotal(int total) {
  this.total = total;
 }
}
//4.pager業(yè)務(wù)邏輯部分:
public class AbstractManager extends HibernateDaoSupport {
 public PagerModel searchHql(String hql){
  return searchHql(hql,null,SystemContext.getOffset(),SystemContext.getPageSize());
 }
 public PagerModel searchHql(String hql,Object datas){
  return searchHql(hql,new Object[]{datas},SystemContext.getOffset(),SystemContext.getPageSize());
 }
 public PagerModel searchHql(String hql,Object[] datas){
  return searchHql(hql,datas,SystemContext.getOffset(),SystemContext.getPageSize());
 }
 public PagerModel searchHql(String hql,int offset,int pageSize){
  return searchHql(hql,null,offset,pageSize);
 }
 public PagerModel searchHql(String hql,Object datas,int offset,int pageSize){
  return searchHql(hql,new Object[]{datas},offset,pageSize);
 }
 public PagerModel searchHql(String hql,Object[] datas,int offset,int pageSize){
  String countHql = getQuery(hql);
  Query query = getSession().createQuery(countHql);
  if(datas !=null && datas.length > 0){
   for(int i = 0 ; i<datas.length;i++)
    query.setParameter(i, datas[i]);
  }
  int total = ((Long)query.uniqueResult()).intValue();
  Query query1=getSession().createQuery(hql);
  if(datas !=null && datas.length > 0){
   for(int i = 0 ; i<datas.length;i++)
    query1.setParameter(i, datas[i]);
  }
  List list =query1.setFirstResult(offset)           .setMaxResults(pageSize).list();
  PagerModel pm = new PagerModel();
  pm.setDatas(list);
  pm.setTotal(total);
  return pm;
 }
 public String getQuery(String hql){
  int index =hql.indexOf("from");
  if(index != -1){
   return "select count(*)"+hql.substring(index);
  }
  throw new SystemException("查詢語(yǔ)句出錯(cuò)!");
 }
}
//5.定義offset、pagesize類:
public class SystemContext {
 private static ThreadLocal offset = new ThreadLocal();
 private static ThreadLocal pageSize = new ThreadLocal();
 public static int getOffset(){
  Integer os = (Integer)offset.get();
  if(os == null){
   return 0;
  }
  return os;
 }
 public static void setOffset(int offsetvalue){
  offset.set(offsetvalue);
 }
 public static void removeOffset(){
  offset.remove();
 }
 public static int getPageSize(){
  Integer ps = (Integer)pageSize.get();
  if(ps == null){
   return Integer.MAX_VALUE;
  }
  return ps;
 }
 public static void setPageSize(int pageSizevalue){
  pageSize.set(pageSizevalue);
 }
 public static void removePageSize(){
  pageSize.remove();
 }
}
//6.過(guò)濾器中初始化pagesize、offset:
public class PagerFilter implements Filter {
 public void destroy() {
 }
 public void doFilter(ServletRequest request, ServletResponse response,
   FilterChain chain) throws IOException, ServletException {
  HttpServletRequest httpRequest =(HttpServletRequest)request;
  SystemContext.setOffset(getOffset(httpRequest));
  SystemContext.setPageSize(getPageSize(httpRequest));
  try{
   chain.doFilter(request, response);
  }finally{
   //清空ThreadLocal中的值
   SystemContext.removeOffset();
   SystemContext.removePageSize();
  }   
 }
 public void init(FilterConfig arg0) throws ServletException {
 }
 public int getOffset(HttpServletRequest request){
  int offset = 0;
  try {
   offset = Integer.parseInt(request.getParameter("pager.offset"));
  } catch (NumberFormatException ignore) {
  }
  return offset;
 } 
        //設(shè)置每頁(yè)顯示多少條記錄
 public int getPageSize(HttpServletRequest request){
  return 3;
 }
}
//7.配置過(guò)濾器web.xml中:
<filter>
 <filter-name>pager-taglib</filter-name>
 <filter-class>com.oa.util.filter.PagerFilter</filter-class>
</filter>
<filter-mapping>
 <filter-name>pager-taglib</filter-name>
 <url-pattern>/*</url-pattern>
</filter-mapping>
//8.顯示效果:
<pg:pager url="org.do" items="${pm.total }" export="currentPageNumber=pageNumber">
 <pg:param name="parentId"/>
 <pg:first>
  <a href="${pageUrl}" mce_href="${pageUrl}">首頁(yè)</a>
 </pg:first>
 <pg:prev>
  <a href="${pageUrl }" mce_href="${pageUrl }">前頁(yè)</a>
 </pg:prev>
 <pg:pages>
  <c:choose>
   <c:when test="${currentPageNumber eq pageNumber }">
   <font color="red">${pageNumber }</font>
   </c:when>
   <c:otherwise>
    <a href="${pageUrl }" mce_href="${pageUrl }">${pageNumber }</a>
   </c:otherwise>
  </c:choose>
 </pg:pages>
 <pg:next>
  <a href="${pageUrl }" mce_href="${pageUrl }">后頁(yè)</a>
 </pg:next>
 <pg:last>
  <a href="${pageUrl }" mce_href="${pageUrl }">尾頁(yè)</a>
 </pg:last>
</pg:pager>
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
pg_Util分頁(yè)
分頁(yè)標(biāo)簽:pager
ssh2分頁(yè)解決方案
CMS項(xiàng)目總結(jié):4、利用pager-taglib實(shí)現(xiàn)分頁(yè)處理(終極武器)
Spring MVC MongoDB 分頁(yè)例子下載
使用擴(kuò)展HibernateDaoSupport實(shí)現(xiàn)分頁(yè)技術(shù)總結(jié)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服