jsp pager tag 精简的例子

来源:互联网 发布:linux添加用户到组 编辑:程序博客网 时间:2024/04/28 23:29

<%@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对象。

 
原创粉丝点击