快速业务通道

paginationCode(hibenagte蛍匈) - 園殻秘壇利

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
is.pageNumber = (getTotalNumberOfElements() / this.pageSize);   /**    * todo: this no more makes sense, as we know the total number of elements    *    * We set the max results to one more than the specfied pageSize to    * determine if any more results exist (i.e. if there is a next page    * to display). The result set is trimmed down to just the pageSize    * before being displayed later (in getThisPageElements()).    */   elements = query.setFirstResult(this.pageNumber * this.pageSize).setMaxResults(this.pageSize + 1).list();  }  private int calculateTotalElementsByList(Query query) throws HibernateException {   return query.list().size();  } } package org.jblooming.page; import org.apache.log4j.Logger; import org.jblooming.tracer.Tracer; import java.util.List; /** * @author Pietro Polsinelli ppolsinelli@open-lab.com */ public class ListPage implements Page {  private List elements;  private int pageSize;  private int pageNumber;  /**   * Construct a new ListPage. ListPage numbers are zero-based, so the   * first page is page 0.   *   * @param pageNumber the page number (zero-based);   *          if Integer.MAX_VALUE will return the last page for the query   * @param pageSize  the number of results to display on the page   */  public ListPage(List elements, int pageNumber, int pageSize) {   this.elements = elements;   this.pageSize = pageSize;   this.pageNumber = pageNumber;   if (Integer.MAX_VALUE == this.pageNumber)    this.pageNumber = (getTotalNumberOfElements() / this.pageSize);  }  public boolean isFirstPage() {   return getPageNumber() == 0;  }  public boolean isLastPage() {   return getPageNumber() >= getLastPageNumber();  }  public boolean hasNextPage() {   return ((getPageNumber() + 1) * getPageSize()) <       (getTotalNumberOfElements() + 1);  }  public boolean hasPreviousPage() {   return getPageNumber() > 0;  }  public int getLastPageNumber() { /* * We use the Math.floor() method because page numbers are zero-based * (i.e. the first page is page 0). */   double totalResults = new Integer(getTotalNumberOfElements()).doubleValue();   return new Double(Math.floor(totalResults / getPageSize())).intValue();  }  public List getThisPageElements() { /* * Since we retrieved one more than the specified pageSize when the * class was constructed, we now trim it down to the pageSize if a next * page exists. */   final int start = getPageNumber() * getPageSize();   return elements.subList(Math.min(start, getTotalNumberOfElements() + 1),       Math.min(start + getPageSize(), getTotalNumberOfElements() + 1));  }  public Logger getLogger() {   return Tracer.hibernateLogger;  }  /**   * this is 0-based, differently from list.size();   */  public int getTotalNumberOfElements() {   return elements.size() - 1;  }  public int getThisPageFirstElementNumber() {   return getPageNumber() * getPageSize() + 1;  }  public int getThisPage

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号