jsp pager tag 精簡的例子

<%@page language="java" contentType="text/html; charset=GBK"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/pager-taglib.tld" prefix="pg" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="display" uri="http://displaytag.sourceforge.net/"%>
<%@ taglib uri="/tld/extremecomponents" prefix="ec" %>
<%@ page import="displaytag.TestList,java.util.List"%>
<link rel="stylesheet" type="text/css" href="<c:url value="/css/mycss.css"/>">
<%--
   這是一個jsp pager tag的例子。
   例子很簡單,可見使用jsp pager tag 實現分頁的代碼量很少。
 
  <pg:pager items="${resultSize}"  //結果總數
       maxPageItems="<%=5%>"   //每頁最多數
           maxIndexPages="<%=5%>"  //索引顯示數
           isOffset="<%=true%>"    //一般設置true
           url="/jsppager/jsppager.jsp" //點鏈接執行的action
     export="offset,currentPageNumber=pageNumber" //生成局部變量,一般是偏離量和當前頁數
     scope="request"
  >
  這裏傳給tag的數據包括:
   1,總頁數
   2,每頁記錄數
   3,索引數
   4,點索引執行的action
  傳出的數據包括:
   1,偏移量
   2,當前頁數
   
   
   <pg:page export="firstItem, lastItem"> //傳出當前頁的第一個下標,最後一個下標
   此標籤表示當前頁面的信息
  
   索引頁面,可以更換很多。裏面主要是tag計算出的偏移量。
  
   爲了測試方便,本頁面對應的action就是自己。實際項目可以使用action,
  
   action的任務就是
     1,接收記錄集偏移量(pager.offset),每頁最大記錄數。
     2,根據上面兩個數據得到一頁的記錄集合。並下傳給頁面。
     3,下傳記錄總數。
  
   頁面的任務:
     1,根據下傳總數初始化jsp page tag .
     2, 顯示下傳的集合.(本例用displaytag顯示)
--%>
<%
 String foffset = request.getParameter("pager.offset");
 int ioffset= Integer.parseInt(foffset);
 List list = new TestList(40,false); 
 List sublist = list.subList( ioffset,ioffset+5);
 request.setAttribute( "u2bmanpointlist", sublist );
 request.setAttribute("resultSize","40");
%>
<TABLE width=760 border=0 align=center cellPadding=0 cellSpacing=0 >
  <tr>
    <td width="704" height="300" align="right" >

  <pg:pager items="${resultSize}" 
       maxPageItems="<%=5%>"
           maxIndexPages="<%=5%>"
           isOffset="<%=true%>"
           url="/jsppager/jsppager.jsp"
     export="offset,currentPageNumber=pageNumber"
     scope="request"
  >
  <pg:page export="firstItem, lastItem">
   <div class="resultInfo">
    當前頁數:<strong>${currentPageNumber}</strong> ,
    本頁從第 <strong><%= firstItem %></strong> 條
    到第 <strong> <%= lastItem %></strong>條  
    總記錄數 <strong>${resultSize}</strong>條
   </div>
  </pg:page>
 

    <display:table width="100%" height="10" id="myitem" name="u2bmanpointlist" class="report">
 <display:column width="20%" sortable="true" title="名稱">${myitem.name}</display:column>
 </display:table>
 
   <jsp:include page="/google.jsp" flush="true"/><br>        
      <%--
      <jsp:include page="/alltheweb.jsp" flush="true"/><br>     
      <jsp:include page="/yahoo.jsp" flush="true"/><br>
      <jsp:include page="/altavista.jsp" flush="true"/><br>
      <jsp:include page="/lycos.jsp" flush="true"/><br>
      <jsp:include page="/texticon.jsp" flush="true"/><br>
   <jsp:include page="/simple.jsp" flush="true"/><br> 
      --%>
      </div></td>
  </pg:pager>
</table>
========================================================================

備註:TestList就是一個List,裏面放了一個ListObject對象。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章