分頁

分頁

 

--------------action虛擬裏分頁------------------

//從session中獲取集合值
   List<F1111Repeat> list=null;
   if(null==session.getAttribute("F1111List")){   
    F1111 fmsg = new F1111();
    fmsg.setFlag(queryName);
    fmsg.setOperor(userName);
    fmsg.setCommpanyID(companyId);
    fmsg.setBeginDate(beginDate);
    fmsg.setEndDate(endDate);   
    fmsg.execute();
    list = fmsg.getReList();
    session.setAttribute("F1111List",list);
   }else{
    list=(List<F1111Repeat>) session.getAttribute("F1111List");
   }
   
   int totalNum=list.size(); 
   
   //計算取值的範圍
   int beginPar=(current_page-1)*Configure.PAGESIZE+1;
   int endPar=(current_page-1)*Configure.PAGESIZE+Configure.PAGESIZE;
   if(endPar>totalNum){
    endPar=totalNum;
   }
  
   //分頁拼裝
   List<F1111Repeat> tranList =list.subList(beginPar, endPar);  
      Pager pager= new Pager();
      pager.paging(current_page, Configure.PAGESIZE, totalNum);   
      pager.setList(tranList);
      request.setAttribute("pager", pager);

 

public class Pager {   
  
    private int total_page;     //總頁數   
    private int total_count;    //總記錄數   
    private int current_page;   //當前頁   
    private int page_size;      //每頁的數量   
    private int first_page;   
    private int pre_page;   
    private int next_page;   
    private int last_page;   
    private boolean is_first;   
    private boolean is_last;   
    private List list;   
       
    public List getList() {   
        return list;   
    }   
    public void setList(List list) {   
        this.list = list;   
    }   
    public int getTotal_page() {   
        return total_page;   
    }   
    public void setTotal_page(int total_page) {   
        this.total_page = total_page;   
    }   
    public int getTotal_count() {   
        return total_count;   
    }   
    public void setTotal_count(int total_count) {   
        this.total_count = total_count;   
    }   
    public int getCurrent_page() {   
        return current_page;   
    }   
    public void setCurrent_page(int current_page) {   
        this.current_page = current_page;   
    }   
    public int getPage_size() {   
        return page_size;   
    }   
    public void setPage_size(int page_size) {   
        this.page_size = page_size;   
    }   
    public int getFirst_page() {   
        return first_page;   
    }   
    public void setFirst_page(int first_page) {   
        this.first_page = first_page;   
    }   
    public int getPre_page() {   
        return pre_page;   
    }   
    public void setPre_page(int pre_page) {   
        this.pre_page = pre_page;   
    }   
    public int getNext_page() {   
        return next_page;   
    }   
    public void setNext_page(int next_page) {   
        this.next_page = next_page;   
    }   
    public int getLast_page() {   
        return last_page;   
    }   
    public void setLast_page(int last_page) {   
        this.last_page = last_page;   
    }   
    public boolean isIs_first() {   
        return is_first;   
    }   
    public void setIs_first(boolean is_first) {   
        this.is_first = is_first;   
    }   
    public boolean isIs_last() {   
        return is_last;   
    }   
    public void setIs_last(boolean is_last) {   
        this.is_last = is_last;   
    }   
       
    /**  
     * 分頁處理  
     * @param current_page 當前頁  
     * @param page_size 每頁的數量  
     * @param total_count 總記錄數  
     */  
    public void paging(int current_page, int page_size, int total_count){   
        this.current_page = current_page;   
        this.page_size = page_size;   
        this.total_count = total_count;   
           
        if(current_page < 1){   
            this.current_page = 1;   
        }   
           
        this.total_page = (this.total_count + page_size - 1)/page_size;   
        this.first_page =1;   
        this.last_page = total_page;   
           
        if(this.current_page > 1){   
            this.pre_page = this.current_page - 1;   
        }else{   
            this.pre_page = 1;   
        }   
           
        if(this.current_page < total_page){   
            this.next_page = this.current_page + 1;    
        }else{   
            this.next_page = total_page;   
        }   
           
        if(this.current_page <= 1){   
            this.is_first = true;   
        }else{   
            this.is_first = false;   
        }   
           
        if(this.current_page >= total_page){   
            this.is_last = true;   
        }else{   
            this.is_last = false;   
        }   
    }   
       
}

 

<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags"%>
<script type="text/javascript">
var total_page =${requestScope.pager.total_page};
var action=document.forms[0].action;
function goCommonPager(){
 var current_page=document.getElementById("goCommonPageNO").value;
 if(isNaN(current_page)||current_page<=0||current_page>total_page){
  alert("請輸入1到"+total_page+"之間的正整數.");
  return false;
 }
 document.forms[0].action=action+"?current_page="+current_page;
 document.forms[0].submit();
}
function doCommonPager(current_page){
 document.forms[0].action=action+"?current_page="+current_page;
 document.forms[0].submit();
}
</script>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" >
  <tr>
    <td height="30" width="100%" align="right"> 
   共${requestScope.pager.total_count}條  第${current_page}頁/共${requestScope.pager.total_page}頁
  <s:if test="#request.pager.is_first == false"> 
   <a href="javascript:doCommonPager(${requestScope.pager.first_page})">首頁</a>
   <a href="javascript:doCommonPager(${requestScope.pager.pre_page})">上一頁</a>
  </s:if>
  <s:if test="#request.pager.is_first == true"> 
   <a href="#">首頁</a>
   <a href="#">上一頁</a>
  </s:if>   
  <s:if test="#request.pager.is_last == false">   
   <a href="javascript:doCommonPager(${requestScope.pager.next_page})">下一頁</a>
   <a href="javascript:doCommonPager(${requestScope.pager.last_page})">最後一頁&nbsp;</a>
  </s:if>
  <s:if test="#request.pager.is_last == true">   
   <a href="#">下一頁</a>
   <a href="#">最後一頁&nbsp;</a>
  </s:if>
  <input id="goCommonPageNO" type="text" size="1"/>
           <input name="button" type="button"  value="Go" οnclick="goCommonPager();"/> 
        </td>
  </tr>
</table>

發佈了6 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章