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

打開APP
userphoto
未登錄

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

開通VIP
分頁技術(shù)

首先寫一個(gè)分頁的PageBean的類,用于存放分頁的基本信息如總記錄數(shù),總頁數(shù)等。

package com.manman.smallBBS.util;

import java.util.List;

public class PageBean {
  @SuppressWarnings("unchecked")
     private List list;        //要返回的某一頁的記錄列表
    
     private int allRow;         //總記錄數(shù)
     private int totalPage;        //總頁數(shù)
     private int currentPage;    //當(dāng)前頁
     private int pageSize;        //每頁記錄數(shù)
    
     @SuppressWarnings("unused")
  private boolean isFirstPage;    //是否為第一頁
     @SuppressWarnings("unused")
  private boolean isLastPage;        //是否為最后一頁
     @SuppressWarnings({ "unused", "unused" })
  private boolean hasPreviousPage;    //是否有前一頁
     @SuppressWarnings({ "unused", "unused" })
  private boolean hasNextPage;        //是否有下一頁
    
    
     @SuppressWarnings("unchecked")
  public List getList() {
         return list;
     }
     @SuppressWarnings("unchecked")
  public void setList(List list) {
         this.list = list;
     }
     public int getAllRow() {
         return allRow;
     }
     public void setAllRow(int allRow) {
         this.allRow = allRow;
     }
     public int getTotalPage() {
         return totalPage;
     }
     public void setTotalPage(int totalPage) {
         this.totalPage = totalPage;
     }
     public int getCurrentPage() {
         return currentPage;
     }
     public void setCurrentPage(int currentPage) {
         this.currentPage = currentPage;
     }
     public int getPageSize() {
         return pageSize;
     }
     public void setPageSize(int pageSize) {
         this.pageSize = pageSize;
     }
    
     /** *//**
      * 初始化分頁信息
      */
     public void init(){
         this.isFirstPage = isFirstPage();
         this.isLastPage = isLastPage();
         this.hasPreviousPage = isHasPreviousPage();
         this.hasNextPage = isHasNextPage();
     }
    
     /** *//**
      * 以下判斷頁的信息,只需getter方法(is方法)即可
      * @return
      */
    
     public boolean isFirstPage() {
         return currentPage == 1;    // 如是當(dāng)前頁是第1頁
     }
     public boolean isLastPage() {
         return currentPage == totalPage;    //如果當(dāng)前頁是最后一頁
     }
     public boolean isHasPreviousPage() {
         return currentPage != 1;        //只要當(dāng)前頁不是第1頁
     }
     public boolean isHasNextPage() {
         return currentPage != totalPage;    //只要當(dāng)前頁不是最后1頁
     }
    
    
     /** *//**
      * 計(jì)算總頁數(shù),靜態(tài)方法,供外部直接通過類名調(diào)用
      * @param pageSize 每頁記錄數(shù)
      * @param allRow 總記錄數(shù)
      * @return 總頁數(shù)
      */
     public static int countTotalPage(final int pageSize,final int allRow){
         int totalPage = allRow % pageSize == 0 ? allRow/pageSize : allRow/pageSize+1;
         return totalPage;
     }
    
     /** *//**
      * 計(jì)算當(dāng)前頁開始記錄
      * @param pageSize 每頁記錄數(shù)
      * @param currentPage 當(dāng)前第幾頁
      * @return 當(dāng)前頁開始記錄號(hào)
      */
     public static int countOffset(final int pageSize,final int currentPage){
         final int offset = pageSize*(currentPage-1);
         return offset;
     }
    
     /** *//**
      * 計(jì)算當(dāng)前頁,若為0或者請(qǐng)求的URL中沒有"?page=",則用1代替
      * @param page 傳入的參數(shù)(可能為空,即0,則返回1)
      * @return 當(dāng)前頁
      */
     public static int countCurrentPage(int page){
         final int curPage = (page==0?1:page);
         return curPage;
     }

}

dao層實(shí)現(xiàn):

public List queryInboxForPage(final int offset, final int length, final String receiver) {
  final String hql = "from Email e where e.receiver=:receiver order by createTime desc";
  List list = getHibernateTemplate().executeFind(new HibernateCallback() {
   public Object doInHibernate(Session session)
     throws HibernateException, SQLException {
    Query query = session.createQuery(hql);
    query.setParameter("receiver", receiver);
    query.setFirstResult(offset);
    query.setMaxResults(length);
    List list = query.list();
    return list;
   }
  });
  return list;
 }

service層實(shí)現(xiàn):

public PageBean queryInboxForPage(int pageSize, int page,
   String receiver) {

//給PageBean傳值
   int allRow = emaildao.getInboxAllRowCount(receiver);    //
         int totalPage = PageBean.countTotalPage(pageSize, allRow);    //
         final int offset = PageBean.countOffset(pageSize, page);    //
         final int length = pageSize;    //
         final int currentPage = PageBean.countCurrentPage(page);
         //List<Email> list = emaildao.queryInboxForPage(offset, length,receiver);        //
         List list=emaildao.queryInboxForPage(offset, length, receiver);
         
         PageBean pageBean = new PageBean();
         pageBean.setPageSize(pageSize);   
         pageBean.setCurrentPage(currentPage);
         pageBean.setAllRow(allRow);
         pageBean.setTotalPage(totalPage);
         pageBean.setList(list);
         pageBean.init();
         return pageBean;
 }

頁面部分(重點(diǎn)):

  
   第
   <s:property value="pageBean.currentPage" />/<s:property value="pageBean.totalPage" />
   頁
  
          <s:if test="%{pageBean.totalPage>1}">
   <s:if test="%{pageBean.currentPage == 1}">
            首頁 上一頁
        </s:if>
   <s:else>
    <a
     href="viewEmail.action?page=1&receiver=<s:property value="receiver"/>">首頁</a>
    <a
     href="viewEmail.action?page=<s:propertyvalue="%{pageBean.currentPage-1}"/>&receiver=<s:propertyvalue="receiver"/>">上一頁</a>
   </s:else>

   <s:bean name="org.apache.struts2.util.Counter" id="counter">
    <s:param name="first" value="1" />
    <s:param name="last" value="%{pageBean.totalPage}" />
    <s:iterator>
     <s:if test="pageBean.currentPage!=current-1">
      <s:a
       href="viewEmail.action?page=%{current-1}&receiver=%{receiver}">
       <font color="#2fa2ff"><s:property /> </font>
      </s:a>
     </s:if>
     <s:else>
      <font color="red"><s:property /> </font>
     </s:else>
    </s:iterator>
   </s:bean>

   <s:if test="%{pageBean.currentPage != pageBean.totalPage}">
    <a
     href="viewEmail.action?page=<s:propertyvalue="%{pageBean.currentPage+1}"/>&receiver=<s:propertyvalue="receiver"/>">下一頁</a>
    <a
     href="viewEmail.action?page=<s:property value="pageBean.totalPage"/>&receiver=<s:property value="receiver"/>">尾頁</a>
   </s:if>
   <s:else>

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
S2SH項(xiàng)目實(shí)現(xiàn)分頁功能
ssh2分頁解決方案
WEB開發(fā)中Struts分頁算法
連接池使用案例 學(xué)習(xí)筆記 ----Java進(jìn)階篇
分頁功能之PageBean
JDBC 學(xué)習(xí)筆記(一)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服