`
huxiuliang
  • 浏览: 117230 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jsp像百度一样的分页

    博客分类:
  • Java
阅读更多


package com.ssdb.struts.dbservice;

import org.apache.commons.lang.StringUtils;

public class Pager_2 {
   
    String Tabstart = "<table  width='95%' border='0'><tr><td>";
   
    String Tabend = "</td></tr></table>";
   
    String CurrPageFont1 = "页次:<font color='red'>";
   
    String CurrPageFont2 = "</font>/";
   
    String PageCountFont1 = "";
   
    String PageCountFont2 = "&nbsp;";
   
    String PrePageFont1 = "&nbsp;每页<font color='red'>";
   
    String PrePageFont2 = "</font>&nbsp;";
   
    String RecCountFont1 = "&nbsp;共计:<font color='red'>";
   
    String RecCountFont2 = "</font></td><td>";
   
    String FirstFont = "<font face=webdings>9</font>";
   
    String PrevFont = "<font face=webdings>7</font>";
   
    String NextFont = "<font face=webdings>8</font>";
   
    String LastFont = "<font face=webdings>:</font>";
   
    String Jump = "&nbsp;&nbsp;跳转:";
   
    String PageNumFont1 = "<font color='orange'>[";
   
    String PageNumFont2 = "]</font>";
   
    String PageNumFont3 = "";
   
    String PageNumFont4 = "";
   
    String LinkFont1 = "<font color='red'>";
   
    String LinkFont2 = "</font>";
   
    String LinkFont3 = "";
   
    String LinkFont4 = "";
   
    String key, re, CurrentPage, FirstPageUrl, PrevPageUrl, NextPageUrl, LastPageUrl, ipage;
   
    int PageCount;
   
    int prevpage, nextpage, PageStart, PageEnd, i;
   
    /**
         *
         * @param RecCount
         *                记录总数
         * @param RecPerPage
         *                每页记录
         * @param PageNum
         *                前后显示几个
         * @param url
         * @param key
         *                搜索的关键字
         * @return
         *
         */
    public String getPageToolBar(int RecCount, int CurrPage, int RecPerPage, int PageNum, String url, String key) {

    if (StringUtils.isNotEmpty(key)) {
       
        key = "&key=" + key;
    }
    StringBuffer sbf = new StringBuffer();
    // 共有多少页
    if (RecCount % RecPerPage == 0) {
        PageCount = RecCount / RecPerPage;
    } else {
        PageCount = ((RecCount / RecPerPage) + 1);
    }
    if (PageCount <= 1) {
        PageCount = 1;
    }
   
    // 上一页,下一页的页码
    prevpage = (CurrPage - 1);
    if (prevpage < 1) {
        prevpage = 1;
    }
    nextpage = (CurrPage + 1);
    if (nextpage > PageCount) {
        nextpage = PageCount;
    }
   
    if (CurrPage <= 1 && PageCount == 1) {
        CurrPage = 1;
        FirstPageUrl = "&nbsp;" + LinkFont3 + FirstFont + LinkFont4 + "&nbsp;";
        PrevPageUrl = "&nbsp;" + LinkFont3 + PrevFont + LinkFont4 + "&nbsp;";
        NextPageUrl = "&nbsp;" + LinkFont3 + NextFont + LinkFont4 + "&nbsp;";
        LastPageUrl = "&nbsp;" + LinkFont3 + LastFont + LinkFont4 + "&nbsp;";
    } else if (CurrPage <= 1) {
        CurrPage = 1;
        FirstPageUrl = "&nbsp;" + LinkFont3 + FirstFont + LinkFont4 + "&nbsp;";
        PrevPageUrl = "&nbsp;" + LinkFont3 + PrevFont + LinkFont4 + "&nbsp;";
        NextPageUrl = "&nbsp;<A href=\"" + url + "Page=" + nextpage + key + "\">" + LinkFont1 + NextFont + LinkFont2 + "</A>&nbsp;";
        LastPageUrl = "&nbsp;<A href=\"" + url + "Page=" + PageCount + key + "\">" + LinkFont1 + LastFont + LinkFont2 + "</A>&nbsp;";
    } else if (CurrPage >= PageCount) {
        CurrPage = PageCount;
        FirstPageUrl = "&nbsp;<A href=\"" + url + "Page=1" + key + "\">" + LinkFont1 + FirstFont + LinkFont2 + "</A>&nbsp;";
        PrevPageUrl = "&nbsp;<A href=\"" + url + "Page=" + prevpage + key + "\">" + LinkFont1 + PrevFont + LinkFont2 + "</A>&nbsp;";
        NextPageUrl = "&nbsp;" + LinkFont3 + NextFont + LinkFont4 + "&nbsp;";
        LastPageUrl = "&nbsp;" + LinkFont3 + LastFont + LinkFont4 + "&nbsp;";
    } else {
       
        FirstPageUrl = "&nbsp;<A href=\"" + url + "Page=1" + key + "\">" + LinkFont1 + FirstFont + LinkFont2 + "</A>&nbsp;";
        PrevPageUrl = "&nbsp;<A href=\"" + url + "Page=" + prevpage + key + "\">" + LinkFont1 + PrevFont + LinkFont2 + "</A>&nbsp;";
        NextPageUrl = "&nbsp;<A href=\"" + url + "Page=" + nextpage + key + "\">" + LinkFont1 + NextFont + LinkFont2 + "</A>&nbsp;";
        LastPageUrl = "&nbsp;<A href=\"" + url + "Page=" + PageCount + key + "\">" + LinkFont1 + LastFont + LinkFont2 + "</A>&nbsp;";
    }
    if (CurrPage - PageNum <= 1) {
        PageStart = 1;
    } else {
        PageStart = CurrPage - PageNum;
    }
    if (CurrPage + PageNum >= PageCount) {
        PageEnd = PageCount;
    } else {
        PageEnd = CurrPage + PageNum;
    }
   
    sbf.append(Tabstart);
    sbf.append(CurrPageFont1 + CurrPage + CurrPageFont2 + PageCountFont1 + PageCount + PageCountFont2 + PrePageFont1);
    sbf.append(RecPerPage + PrePageFont2 + RecCountFont1 + RecCount + RecCountFont2 + FirstPageUrl + PrevPageUrl);
    for ( i = PageStart ; i <= PageEnd ; i++) {
        if (i == CurrPage) {
        sbf.append("&nbsp;" + PageNumFont3 + i + PageNumFont4 + "&nbsp;");
        } else {
        sbf.append("&nbsp;<A href=\"" + url + "Page=" + i + key + "\">" + PageNumFont1 + i + PageNumFont2 + "</A>&nbsp;");
        }
    }
    sbf.append(NextPageUrl + LastPageUrl);
    sbf.append(Tabend);
    return sbf.toString();
    }
   
   
}

分享到:
评论
1 楼 luyan0711 2008-12-12  
顶你一个

相关推荐

Global site tag (gtag.js) - Google Analytics