`
liyiye
  • 浏览: 426917 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

分页的自定义标签

阅读更多

1 在WEB-INF目录下面定义一个page.tld,内容如下:

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">

<taglib>
  <tlibversion>1.2</tlibversion>
  <jspversion>1.1</jspversion>
  <shortname>html</shortname>
  <uri>http://struts.apache.org/tags-html</uri>
 
  <tag>
    <name>newpage</name>
    <tagclass>com.PageTag</tagclass>
    <bodycontent>empty</bodycontent>
    <attribute>
      <name>pages</name>
      <required>true</required>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <name>styleClass</name>
      <required>false</required>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <name>argPage</name>
      <required>false</required>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <name>argTotal</name>
      <required>false</required>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <name>pageSep</name>
      <required>false</required>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <name>javaScript</name>
      <required>false</required>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <name>showGo</name>
      <required>false</required>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <name>showPerPageNum</name>
      <required>false</required>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <name>showStatistics</name>
      <required>false</required>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
  </tag>

</taglib>

 

2 com.PageTag的内容处理

 

 

import java.io.IOException;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.tagext.TagSupport;

import org.apache.commons.lang.StringUtils;

import com.Pages;


public class PageTag extends TagSupport {
 
 

   protected String styleClass = "";

   protected String argPage = "page";

   protected String argTotal = "total";

   protected int pageSep = 10;

   protected String javaScript = "";
  
   protected Pages pages=null;//自己定义的一个对象,用来储存分页的一些信息
  
   protected boolean showGo=true;//是否要显示一个输入框,可以跳转到具体哪一页
  
   protected boolean showPerPageNum=true;//是否显示设置每页的数量的功能
  
   protected boolean showStatistics=true;//显示分页的一下统计信息
 public PageTag() {
 }

 public int doStartTag() throws JspTagException {
  return EVAL_BODY_INCLUDE;
 }

 public int doEndTag() throws JspTagException {

     //一行显示页数
     int pagesep = pages.getPerPageNum();
     //总行数
     int allpagesep = (int) Math.ceil( (pages.getAllPage() + pagesep - 1) / pagesep);
     //当前行数
     int cpagesep = (int) Math.ceil( (pages.getCpage() + pagesep - 1) / pagesep);
     //当前一行显示页数
     int cnum;
     if (pages.getAllPage() > 0) {
       //在页中
       if (cpagesep != allpagesep) {
         cnum = pagesep;
       }
       //页末
       else {
         cnum = pages.getAllPage() % pagesep;
         //正好整除
         if (cnum == 0) {
           cnum = pagesep;
         }
       }
     }
     else {
       cnum = 0;
     }
     //System.out.println("cpage:" + pages.getCpage() + " cpagesep:" + cpagesep + " allpagesep:" + allpagesep);

     String fileName = pages.getFileName();

     StringBuffer sb = new StringBuffer();

     if (pages.isUseUrlRewrite()) { //使用URL Rewrite
       if (StringUtils.isBlank(this.javaScript)) {

         sb.append("<span ");

         if (StringUtils.isNotBlank(this.styleClass)) {
           sb.append(" class=\"");
           sb.append(this.styleClass);
           sb.append("\"");
         }
         sb.append(" >");

         if (cpagesep > 1) {
           String tmpFileName = fileName;
           tmpFileName = this.replacePage(tmpFileName, 1);
           tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());
           sb.append("<a href=\"");
           sb.append(tmpFileName);
           sb.append("\">");
           //sb.append("|&lt;");
//           sb.append("&laquo;");
           sb.append("<img src=\"images\\version2\\ssp\\icon1.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
          
           sb.append("</a>");

           tmpFileName = fileName;
           //往前一行
           int previous;
           if (pages.getCpage() <= 1) {
             previous = 1;
           }
           else {
             previous = pages.getCpage() - 1;
           }
           tmpFileName = this.replacePage(tmpFileName, previous);
           tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());
           sb.append(" <a href=\"");
           sb.append(tmpFileName);
           sb.append("\">");
           //sb.append("&lt;");
//           sb.append("&#8249;");
           sb.append("<img src=\"images\\version2\\ssp\\icon2.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
          
           sb.append("</a>");
         }

         for (int i = 0; i < cnum; i++) {
           String tmpFileName = fileName;

           tmpFileName = this.replacePage(tmpFileName, ( (i + 1) + ( (cpagesep - 1) * pagesep)));
           tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());

          
           if (pages.getCpage() == (i + 1)+ ((cpagesep - 1) * pagesep)) {
      sb.append(" <a href=\"");
      sb.append(tmpFileName);
      sb.append("\" style=\"border:solid 1px #AF0000;text-decoration:none;font-size:14px;padding:3px 3px 0px 3px;\">");
      sb.append("<strong style=\"color:#AF0000;\">");
      sb.append((i + 1) + ((cpagesep - 1) * pagesep));
      sb.append("</strong>");
     } else {
      sb.append(" <a href=\"");
      sb.append(tmpFileName);
      sb.append("\" style=\"border:solid 1px #80AFE0;text-decoration:none;font-size:14px;padding:3px 3px 0px 3px;color:black;\">");
      sb.append(((i + 1) + ((cpagesep - 1) * pagesep)));
     }
           sb.append("</a>");
         }

         if (cpagesep < allpagesep) {

           String tmpFileName = fileName;

           int next;
           if (pages.getCpage() >= pages.getAllPage()) {
             next = (int) pages.getAllPage();
           }
           else {
             next = pages.getCpage() + 1;
           }

           tmpFileName = this.replacePage(tmpFileName, next);
           tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());

           sb.append(" <a href=\"");
           sb.append(tmpFileName);
           sb.append("\">");
//           sb.append("&#8250;");
           sb.append("<img src=\"images\\version2\\ssp\\icon3.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
       
           sb.append("</a> ");

           tmpFileName = fileName;
           tmpFileName = this.replacePage(tmpFileName, pages.getAllPage());
           tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());

           sb.append(" <a href=\"");
           sb.append(tmpFileName);
           sb.append("\">");
           //sb.append("&gt;|");
//           sb.append("&raquo;");
           sb.append("<img src=\"images\\version2\\ssp\\icon4.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
    
           sb.append("</a>");
         }
         sb.append("</span>");

       }
       else {

         sb.append("<span");

         if (StringUtils.isNotBlank(this.styleClass)) {
           sb.append(" class=\"");
           sb.append(this.styleClass);
           sb.append("\"");
         }
         sb.append(">");

         if (cpagesep > 1) {
           String tmpFileName = fileName;
           tmpFileName = this.replacePage(tmpFileName, 1);
           tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());
           sb.append("<a href=\"javascript:;\" onclick=\"");
           sb.append(this.javaScript);
           sb.append("('");
           sb.append(tmpFileName);
           sb.append("');\">");
           //sb.append("\">");
           //sb.append("|&lt;");
//           sb.append("&laquo;");
           sb.append("<img src=\"images\\version2\\ssp\\icon1.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
          
           sb.append("</a>");

           tmpFileName = fileName;
           //往前一行
           int previous;
           if (pages.getCpage() <= 1) {
             previous = 1;
           }
           else {
             previous = pages.getCpage() - 1;
           }
           tmpFileName = this.replacePage(tmpFileName, previous);
           tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());
           //sb.append(" <a href=\"");
           //sb.append(tmpFileName);
           //sb.append("\">");
           //sb.append("&lt;");
           sb.append("<a href=\"javascript:;\" onclick=\"");
           sb.append(this.javaScript);
           sb.append("('");
           sb.append(tmpFileName);
           sb.append("');\">");
           sb.append("<img src=\"images\\version2\\ssp\\icon2.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
       
//           sb.append("&#8249;");
           sb.append("</a>");
         }

         for (int i = 0; i < cnum; i++) {
           String tmpFileName = fileName;

           tmpFileName = this.replacePage(tmpFileName, ( (i + 1) + ( (cpagesep - 1) * pagesep)));
           tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());

           //sb.append(" <a href=\"");
           //sb.append(tmpFileName);
           //sb.append("\">");

           sb.append("<a href=\"javascript:;\" onclick=\"");
           sb.append(this.javaScript);
           sb.append("('");
           sb.append(tmpFileName);
           sb.append("');\">");


           if (pages.getCpage() == (i + 1) + ( (cpagesep - 1) * pagesep)) {
             sb.append("<strong>");
             sb.append( (i + 1) + ( (cpagesep - 1) * pagesep));
             sb.append("</strong>");
           }
           else {
             sb.append( ( (i + 1) + ( (cpagesep - 1) * pagesep)));
           }
           sb.append("</a>");
         }

         if (cpagesep < allpagesep) {

           String tmpFileName = fileName;

           int next;
           if (pages.getCpage() >= pages.getAllPage()) {
             next = (int) pages.getAllPage();
           }
           else {
             next = pages.getCpage() + 1;
           }

           tmpFileName = this.replacePage(tmpFileName, next);
           tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());

           //sb.append(" <a href=\"");
           //sb.append(tmpFileName);
           //sb.append("\">");
           sb.append("<a href=\"javascript:;\" onclick=\"");
           sb.append(this.javaScript);
           sb.append("('");
           sb.append(tmpFileName);
           sb.append("');\">");

//           sb.append("&#8250;");
           sb.append("<img src=\"images\\version2\\ssp\\icon3.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
    
           sb.append("</a> ");

           tmpFileName = fileName;
           tmpFileName = this.replacePage(tmpFileName, pages.getAllPage());
           tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());

           //sb.append(" <a href=\"");
           //sb.append(tmpFileName);
           //sb.append("\">");
           sb.append("<a href=\"javascript:;\" onclick=\"");
           sb.append(this.javaScript);
           sb.append("('");
           sb.append(tmpFileName);
           sb.append("');\">");

           //sb.append("&gt;|");
//           sb.append("&raquo;");
           sb.append("<img src=\"images\\version2\\ssp\\icon4.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
    
           sb.append("</a>");
         }
         sb.append("</span>");


       }
     }
     else { //不使用URL Rewrite
       if (fileName.indexOf("?") == -1) {
         fileName = fileName + "?";
       }
       else {
         if (!fileName.endsWith("&")) {
           fileName = fileName + "&";
         }
       }

       if (StringUtils.isBlank(this.javaScript)) {

         /**
          * previous butten ,append to
          * <a href='xxx.lt?page=x&t=x'><img></a>
          */
         sb.append("<span");

         if (StringUtils.isNotBlank(this.styleClass)) {
           sb.append(" class=\"");
           sb.append(this.styleClass);
           sb.append("\"");
         }
         sb.append(">");

         if (cpagesep > 1) {
           sb.append("<a href=\"");
           sb.append(fileName);
           sb.append(this.getArgPage());
           sb.append("=1&");
           sb.append(this.argTotal);
           sb.append("=");
           sb.append(pages.getTotalNum());
           sb.append("\">");
           //sb.append("|&lt;");
//           sb.append("&laquo;");
           sb.append("<img src=\"images\\version2\\ssp\\icon1.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
          
           sb.append("</a>");

           sb.append(" <a href=\"");
           sb.append(fileName);
           sb.append(this.getArgPage());
           sb.append("=");
           //往前一行
           int previous;
           if (pages.getCpage() <= 1) {
             previous = 1;
           }
           else {
             previous = pages.getCpage() - 1;
           }
           sb.append(previous);
           //sb.append("&total=");
           sb.append("&");
           sb.append(this.argTotal);
           sb.append("=");
           sb.append(pages.getTotalNum());
           sb.append("\">");
           //sb.append("&lt;");
//           sb.append("&#8249;");
           sb.append("<img src=\"images\\version2\\ssp\\icon2.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
       
           sb.append("</a>");

         }

         /**
          * middle butten ,append to
          * <a href='xxx.lt?page=x&t=x'><img></a>
          */
         for (int i = 0; i < cnum; i++) {
           sb.append(" <a href=\"");

           sb.append(fileName);
           sb.append(this.getArgPage());
           sb.append("=");

           sb.append( ( (i + 1) + ( (cpagesep - 1) * pagesep)));
           sb.append("&");
           sb.append(this.argTotal);
           sb.append("=");
           sb.append(pages.getTotalNum());
           sb.append("\">");
           if (pages.getCpage() == (i + 1) + ( (cpagesep - 1) * pagesep)) {
             sb.append("<strong>");
             sb.append( (i + 1) + ( (cpagesep - 1) * pagesep));
             sb.append("</strong>");
           }
           else {
             sb.append( ( (i + 1) + ( (cpagesep - 1) * pagesep)));
           }
           sb.append("</a>");
         }
         /**
          * next butten ,append to
          * <a href='xxx.lt?page=x&t=x'><img></a>
          */


         if (cpagesep < allpagesep) {

           sb.append(" <a href=\"");
           //sb.append(pages.getFileName());
           sb.append(fileName);
           sb.append(this.getArgPage());
           sb.append("=");
           //sb.append("page=");
           int next;
           if (pages.getCpage() >= pages.getAllPage()) {
             next = (int) pages.getAllPage();
           }
           else {
             next = pages.getCpage() + 1;
           }
           sb.append(next);
           sb.append("&");
           sb.append(this.argTotal);
           sb.append("=");
           //sb.append("&t=");
           sb.append(pages.getTotalNum());
           sb.append("\">");
           //sb.append("&gt;");
//           sb.append("&#8250;");
           sb.append("<img src=\"images\\version2\\ssp\\icon3.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
    
           sb.append("</a> ");

           sb.append(" <a href=\"");
           //sb.append(pages.getFileName());
           sb.append(fileName);
           sb.append(this.getArgPage());
           sb.append("=");
           //sb.append("page=");
           sb.append(pages.getAllPage());
           sb.append("&");
           sb.append(this.argTotal);
           sb.append("=");
           //sb.append("&t=");
           sb.append(pages.getTotalNum());
           sb.append("\">");
           //sb.append("&gt;|");
//           sb.append("&raquo;");
           sb.append("<img src=\"images\\version2\\ssp\\icon4.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
    
           sb.append("</a>");
         }
         sb.append("</span>");

       }
       else {

         /**
          * previous butten ,append to
          * <a href='xxx.lt?page=x&t=x'><img></a>
          */
         sb.append("<span");

         if (StringUtils.isNotBlank(this.styleClass)) {
           sb.append(" class=\"");
           sb.append(this.styleClass);
           sb.append("\"");
         }
         sb.append(">");

         if (cpagesep > 1) {
           sb.append("<a href=\"javascript:;\" onclick=\"");
           sb.append(this.javaScript);
           sb.append("('");
           sb.append(fileName);
           sb.append(this.getArgPage());
           sb.append("=1&");
           sb.append(this.argTotal);
           sb.append("=");
           sb.append(pages.getTotalNum());
           sb.append("');\">");
           //sb.append("|&lt;");
//           sb.append("&laquo;");
           sb.append("<img src=\"images\\version2\\ssp\\icon1.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
          
           sb.append("</a>");

           //sb.append(" <a href=\"");
           sb.append(" <a href=\"javascript:;\" onclick=\"");
           sb.append(this.javaScript);
           sb.append("('");

           sb.append(fileName);
           sb.append(this.getArgPage());
           sb.append("=");
           //往前一行
           int previous;
           if (pages.getCpage() <= 1) {
             previous = 1;
           }
           else {
             previous = pages.getCpage() - 1;
           }
           sb.append(previous);
           //sb.append("&total=");
           sb.append("&");
           sb.append(this.argTotal);
           sb.append("=");
           sb.append(pages.getTotalNum());
           //sb.append("\">");
           sb.append("');\">");
           //sb.append("&lt;");
//           sb.append("&#8249;");
           sb.append("<img src=\"images\\version2\\ssp\\icon2.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
       
           sb.append("</a>");

         }

         /**
          * middle butten ,append to
          * <a href='xxx.lt?page=x&t=x'><img></a>
          */
         for (int i = 0; i < cnum; i++) {
           //sb.append(" <a href=\"");
           sb.append(" <a href=\"javascript:;\" onclick=\"");
           sb.append(this.javaScript);
           sb.append("('");
           sb.append(fileName);
           sb.append(this.getArgPage());
           sb.append("=");

           sb.append( ( (i + 1) + ( (cpagesep - 1) * pagesep)));
           sb.append("&");
           sb.append(this.argTotal);
           sb.append("=");
           sb.append(pages.getTotalNum());
           //sb.append("\">");
           sb.append("');\">");
           if (pages.getCpage() == (i + 1) + ( (cpagesep - 1) * pagesep)) {
             sb.append("<strong>");
             sb.append( (i + 1) + ( (cpagesep - 1) * pagesep));
             sb.append("</strong>");
           }
           else {
             sb.append( ( (i + 1) + ( (cpagesep - 1) * pagesep)));
           }
           sb.append("</a>");
         }
         /**
          * next butten ,append to
          * <a href='xxx.lt?page=x&t=x'><img></a>
          */


         if (cpagesep < allpagesep) {

           //sb.append(" <a href=\"");
           //sb.append(pages.getFileName());
           sb.append(" <a href=\"javascript:;\" onclick=\"");
           sb.append(this.javaScript);
           sb.append("('");

           sb.append(fileName);
           sb.append(this.getArgPage());
           sb.append("=");
           //sb.append("page=");
           int next;
           if (pages.getCpage() >= pages.getAllPage()) {
             next = (int) pages.getAllPage();
           }
           else {
             next = pages.getCpage() + 1;
           }
           sb.append(next);
           sb.append("&");
           sb.append(this.argTotal);
           sb.append("=");
           //sb.append("&t=");
           sb.append(pages.getTotalNum());
           //sb.append("\">");
           sb.append("');\">");

           //sb.append("&gt;");
//           sb.append("&#8250;");
           sb.append("<img src=\"images\\version2\\ssp\\icon3.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
    
           sb.append("</a> ");

           //sb.append("<a href=\"");

           //sb.append(pages.getFileName());
           sb.append(" <a href=\"javascript:;\" onclick=\"");
           sb.append(this.javaScript);
           sb.append("('");

           sb.append(fileName);
           sb.append(this.getArgPage());
           sb.append("=");
           //sb.append("page=");
           sb.append(pages.getAllPage());
           sb.append("&");
           sb.append(this.argTotal);
           sb.append("=");
           //sb.append("&t=");
           sb.append(pages.getTotalNum());
           //sb.append("\">");
           sb.append("');\">");
           //sb.append("&gt;|");
//           sb.append("&raquo;");
           sb.append("<img src=\"images\\version2\\ssp\\icon4.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
    
           sb.append("</a>");
         }
        
      
     

       }
      
    

     }
     /*************添加 具体跳转到某一页的功能*****************************/
       
       /**  <form action="ouserinfo.do?action=showUserInfo" method="post" target="_self">
      <input type="text"  name="page" style="width:20px;"/>
      <input type="hidden" name="total" value="50" />
      <input type="hidden" name="perpage" value="10" />
      <input type="submit" value="GO" style="background: white;border: solid 1px #80AFE0;"/>
      </form>
       **/ 
     String subfilename=subFileName(fileName);
     if(showGo)
      {
        
         sb.append("<form action='"+subfilename+"' method='post' target='_self' style='display: inline;margin:0px 3px;'>");
         sb.append("<input type='text'  name='page' style='width:20px;hight:16px;'/>");
         sb.append("<input type='hidden' name='total' value='"+pages.getTotalNum()+"' />");
         sb.append("<input type='hidden' name='perpage' value='"+pages.getPerPageNum()+"' />");
         sb.append("<input type='submit' value='GO' style='background: white;border: solid 1px #80AFE0;font-size:14px;hight:16px;'/>");
         sb.append("</form>");
      }
    
      /**************添加动态设置每页显示的记录数目*********************************/
     /**
       <form action="ouserinfo.do?action=showUserInfo" method="post" target="_self" style="display: inline">
    <input type="hidden" name="page" value="1" />
    <input type="hidden" name="total" value="50" />
    <input type="hidden" name="perpage" value="5" />
    <input type="submit" value="5" style="background: white;border: solid 1px #80AFE0;"/>
   </form>
      */
     if(showPerPageNum)
     {
      for(int i=1;i<5;i++)
      {
          sb.append("<form action='"+subfilename+"' method='post' target='_self' style='display: inline;margin:0px;'>");
          sb.append("<input type='hidden' name='page' value='"+pages.getPage()+"'/>");
          sb.append("<input type='hidden' name='total' value='"+pages.getTotalNum()+"' />");
          sb.append("<input type='hidden' name='perpage' value='"+(i*5)+"' />");
          if((i*5)==pages.getPerPageNum())
           sb.append("<input type='submit' value='"+(i*5)+"' style='background: white;border: solid 1px #80AFE0;color:#AF0000;font-size:12px;'/>");
          else
           sb.append("<input type='submit' value='"+(i*5)+"' style='background: white;border: solid 1px #80AFE0;font-size:12px;'/>");
          sb.append("</form>");
      }
     }
    
     if(showStatistics)
     {
      sb.append("<span style='border: solid 1px #80AFE0;margin:0px 3px 2px 3px;font-size:14px;padding:3px 3px 0px 3px;'>");
      sb.append(pages.getTotalNum());
      sb.append("|");
      sb.append(pages.getPerPageNum());
      sb.append("</span>");
      
      sb.append("<span style='border: solid 1px #80AFE0;margin:0px 3px 2px 3px;font-size:14px;padding:3px 3px 0px 3px;'>");
      sb.append(cpagesep);
      sb.append("|");
      sb.append(allpagesep);
      sb.append("</span>");
     }
        sb.append("</span>");
  try {
   pageContext.getOut().print(sb);
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return (SKIP_BODY);
 }
 public String replacePage(String txt, int page) {
     return txt.replaceAll("\\{page\\}", String.valueOf(page));
   }

   public String replaceTotal(String txt, int total) {
     return txt.replaceAll("\\{total\\}", String.valueOf(total));
   }
 
   public String subFileName(String txt) {
      return txt.substring(0,txt.indexOf((int)'&'));
    }
 public String getStyleClass() {
  return styleClass;
 }

 public void setStyleClass(String styleClass) {
  this.styleClass = styleClass;
 }
 


 public String getArgPage() {
  return argPage;
 }

 public void setArgPage(String argPage) {
  this.argPage = argPage;
 }

 public String getArgTotal() {
  return argTotal;
 }

 public void setArgTotal(String argTotal) {
  this.argTotal = argTotal;
 }

 public int getPageSep() {
  return pageSep;
 }

 public void setPageSep(int pageSep) {
  this.pageSep = pageSep;
 }

 public String getJavaScript() {
  return javaScript;
 }

 public void setJavaScript(String javaScript) {
  this.javaScript = javaScript;
 }

 public Pages getPages() {
  return pages;
 }

 public void setPages(Pages pages) {
  this.pages = pages;
 }

 
}

3  程序代码的运用:


  String pageindex=request.getParameter("page");
  String totaltemp=request.getParameter("total");
  String perpage=request.getParameter("perpage");
  
  Integer groupid=null;
  Integer total=null;
  Integer pageindextemp=1;
  
   
  if(groupidString!=null && !"".equals(groupidString) && !"null".endsWith(groupidString))
  {
   groupid=Integer.valueOf(groupidString);
  }
  List userinfostotal=platformService.findManager();//查询的所有记录
  total=userinfostotal.size();
  if(pageindex!=null && !"".equals(pageindex))
  {
   pageindextemp=Integer.valueOf(pageindex);
  }
  
  
  List managergroup=platformService.findManagerGroupByUIdName(null, null,us.getId());//用户的所以组
  
  
  com.Pages pages = new com.Pages();
  pages.setPage(pageindextemp);
  if(perpage!=null && !"".equals(perpage))
   pages.setPerPageNum(Integer.valueOf(perpage));
  else
   pages.setPerPageNum(10);
  pages.setUseUrlRewrite(true);
  String url="";//分页的链接
  if(groupid!=null)
  {
   url="ouserinfo.do?action=showUserInfo&groupid="+groupid+"&page={page}&total={total}&perpage="+pages.getPerPageNum();
  }
  else
  {
   url="ouserinfo.do?action=showUserInfo&page={page}&total={total}&perpage="+pages.getPerPageNum();
  }
  pages.setFileName(url);
  pages.setTotalNum(total);
  pages.executeCount();
  
  List userinfos=platformService.findManager(pages.getSpage(),pages.getPerPageNum());//所选的分页的页面的记录
  request.setAttribute("userinfos", userinfos);
  request.setAttribute("pages", pages);
  return mapping.findForward("******");

 

4 jsp页面的调用

 

<%@ taglib uri="/WEB-INF/page.tld" prefix="pppp"%>

 

<pppp:page pages="${pages}" />

 

5 界面

 在附件里面。

  • 描述: 分页截图
  • 大小: 4.6 KB
3
1
分享到:
评论
1 楼 huobao89 2008-09-18  
很好呀 
谢谢

相关推荐

    s2知识点解决的分页自定义标签

    s2知识点解决的分页自定义标签s2知识点解决的分页自定义标签s2知识点解决的分页自定义标签s2知识点解决的分页自定义标签s2知识点解决的分页自定义标签s2知识点解决的分页自定义标签s2知识点解决的分页自定义标签s2...

    java分页标签自定义分页标签自定义分页标签

    自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签...

    一个用于分页的自定义标签

    对于这个“分页自定义标签”,我们可以假设它的工作原理如下: 1. **标签库描述符(TLD)**:在TLD文件中,开发者会声明这个分页标签,包括标签的名字、属性(如当前页数、总页数等)、以及指向标签处理类的引用。 `...

    自定义页面分页标签自定义页面分页标签

    自定义页面分页标签是指开发者根据项目需求,创建个性化的分页组件,以实现更加灵活、符合界面设计风格的分页功能。下面将详细探讨如何实现自定义页面分页标签及其相关的知识点。 1. **基础概念**: - 分页:将...

    自定义标签分页

    本文将详细介绍如何使用自定义标签实现JDBC分页功能,以及与MySQL数据库的集成。 首先,自定义标签是JSP标准标签库(JSTL)的一种扩展,允许开发者创建自己的标签库,以解决特定业务场景的需求。在本例中,...

    jsp自定义分页标签

    在JavaServer Pages (JSP) 开发中,为了提高代码...通过自定义标签,你可以根据项目需求定制分页行为,使其与整体应用更好地融合。在实际开发中,结合TLD和Tag Handler类的使用,可以轻松实现高效、可扩展的分页功能。

    基于struts2 自定义标签 分页

    在这个基于Struts2的自定义分页标签的实践中,我们将深入探讨如何创建、配置和使用自定义标签来实现数据的分页展示,同时与Oracle数据库进行交互。 首先,理解分页的基本概念至关重要。分页是将大量数据分成小块,...

    Struts2自定义分页标签

    4. **创建分页标签库**:Struts2支持自定义标签,你可以创建一个`.tld`文件来定义分页标签。标签库应该包含开始、结束、上一页、下一页等标签,以便在视图层中方便地使用。 5. **实现标签处理类**:对应的Java类...

    简单易用的自定义标签分页显示

    //得到分页米尺数值 sb.append("function getMaxNum(){"); sb.append("var val=document.getElementById('onePageMaxNum').value;"); sb.append("if(val=='') return "+measurement+";"); sb.append(" return ...

    自定义标签的使用步骤 用于分页

    在上述的描述中,我们看到一个自定义标签`PagerTag`的实现,用于分页功能。下面我们将详细探讨自定义标签的使用步骤以及涉及到的相关知识点。 1. **编写自定义标签处理类**: 类`PagerTag`继承自`TagSupport`,这...

    强大的自定义标签分页,内有说明

    "强大的自定义标签分页"是指通过自定义JSP标签来实现灵活、高效的分页功能。这种方式可以提供更高的定制性,使得开发者可以根据项目需求进行个性化的设计和调整。 首先,我们来了解自定义标签。在Java Web开发中,...

    自定义标签实现的分页

    本篇文章将详细讲解如何利用Hibernate框架的自定义标签来实现分页功能,供开发者们参考和借鉴。 首先,我们要了解Hibernate的基本概念。Hibernate是一个开源的对象关系映射(ORM)框架,它允许开发人员使用面向对象...

    java自定义分页标签

    - 自定义标签需要生成HTML代码来呈现分页条。例如,淘宝分页样式可能包括上一页、下一页、数字链接等元素,这些都需要在Java类中动态生成。 - 考虑到不同的分页样式,可以设计多个标签,每个对应一种风格,或者...

    自定义标签小练习----一个简单的分页标签

    本篇内容主要介绍了一个简单的分页标签的实现过程,这是一个很好的学习实践,帮助开发者理解和掌握自定义标签的编写与应用。 首先,我们要理解自定义标签的生命周期和组成部分。一个完整的自定义标签通常包含以下...

    超简单的分面自定义标签(含源码)

    总结来说,本教程提供了一种基于Java和JSP的分页自定义标签实现方式,通过简单的标签调用即可完成分页功能,大大简化了开发流程。开发者可以通过学习源码,深入理解分页逻辑和自定义标签的实现原理,进一步提升自己...

    自定义分页标签

    自定义的漂亮分页标签,支持上下翻页,直接跳转指定页

    java自定义标签分页

    在这个“java自定义标签分页”主题中,我们将深入探讨如何利用自定义标签来实现高效且易于维护的分页功能。 首先,自定义标签的定义通常涉及以下组件: 1. TLD(Tag Library Descriptor)文件:这是定义自定义标签...

    非常好用的自定义分页标签

    在JSP(JavaServer Pages)中,自定义标签是通过TLD(Tag Library Descriptor)文件来定义的,它描述了标签的行为、属性、变量等信息。TLD文件通常以`.tld`为扩展名,是XML格式的,用于告诉JSP引擎如何处理特定的...

Global site tag (gtag.js) - Google Analytics