`
huxiuliang
  • 浏览: 120661 次
  • 性别: 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  
顶你一个

相关推荐

    JSP实现类似百度,google的分页

    在网页开发中,分页是一种常见的用户界面设计,它用于将大量数据分割成多个小块,以便用户可以逐步浏览和处理。在这个主题中,我们将深入...通过熟练掌握这些知识点,你可以构建出像百度和Google一样高效的分页系统。

    java仿百度分页

    在JSP页面中,我们可以像使用HTML标签一样使用这些自定义标签,简化前端分页的编写工作。 2. **JavaBean和Action**:在Java Web开发中,Action通常代表一个业务逻辑处理类,它负责接收前端请求,处理业务逻辑,并...

    jsp分页标签JPage(HOT)

    JSP自定义标签是JSP技术的一部分,它允许开发者创建自己的标签库,这些标签可以像HTML标签一样在JSP页面中使用。通过自定义标签,我们可以将复杂的Java代码封装起来,使得页面更加简洁,提高代码的可读性和可维护性...

    pager-taglib-2.0.war

    在JSP页面中,你可以像使用普通HTML标签一样使用分页标签,通过传入必要的参数(如当前页数、总页数、每页记录数等)来生成分页链接。 总的来说,"pager-taglib-2.0" 提供了一套完整的分页解决方案,不仅简化了开发...

    艺帆婚纱摄影婚庆公司网站源码.rar

    特色功能:产品、新闻内容图片可以批量上传(免去一张张上传的烦恼),全站伪静态(优化SEO,对搜索引擎更友好),全站关键词可自动设置(每个页面关键词都有针对性),文章内容可以分页,图片渐显载入(优化显示速度...

    jeecms v9.3 正式版 安装包.zip

    5、后台编辑器分页问题 7、数据统计今日数据没有问题 8、公众号推送菜单和群发微信菜单获取微信端消息返回处理 9、OSS管理添加appkey_secretId后台未解密导致数据存储错误 10、会员中心留言列表报错 11、...

Global site tag (gtag.js) - Google Analytics