`

猜测 javaye的分页设计

阅读更多
非常喜欢javaeye的分页 ,自己也写了一个 按照逻辑测试了一下

代码如下:

  int curPage = pageInfo.getPageNo();
        int pageCount = pageInfo.getPageCount();

        if (curPage > pageCount) {   //当前页大于最大页
            curPage = pageCount;
        }

        StringBuffer sb = new StringBuffer();
        sb.append("<div class=\"pagination\">");
        if (curPage > 1) {    // 添加 "上一页"
            // 加上链接 curpage-1
            sb.append("<a href=\"" + getHref(curPage - 1)
                    + "\" class=\"prev_page\" rel=\"prev start\">"
                    + PREVIOUS_PAGE + "</a>");
        } else {
            sb.append("<span class=\"disabled prev_page\">" + PREVIOUS_PAGE + "</span>");
        }

        if ((curPage < liststep) && (pageCount - curPage + 1 < liststep)) {  //显示全部
            for (int i = 1; i <= pageCount; i++) {
                if (i == curPage) {
                    sb.append("<span class=\"current\">" + i + "</span>");
                } else {
                    sb.append(goHref(i));
                }
            }
        } else if ((curPage < liststep) && (pageCount - curPage + 1 >= liststep)) { //显示 1 2 3 ... 45 46
            int left = curPage < 3 ? 3 : curPage + 1;
            for (int i = 1; i <= left; i++) {
                if (i == curPage) {
                    sb.append("<span class=\"current\">" + i + "</span>");
                } else {
                    sb.append(goHref(i));
                }
            }
            sb.append("<span class=\"gap\">&hellip;</span>");
            sb.append(goHref(pageCount - 1));
            sb.append(goHref(pageCount));
        } else if ((curPage >= liststep) && (pageCount - curPage + 1 >= liststep)) {  //显示 1 2 。。。5 6 7 。。45  46
            sb.append(goHref(1));
            sb.append(goHref(2));
            sb.append("<span class=\"gap\">&hellip;</span>");
            sb.append(goHref(curPage - 1));
            sb.append("<span class=\"current\">" + curPage + "</span>");
            sb.append(goHref(curPage + 1));
            sb.append("<span class=\"gap\">&hellip;</span>");
            sb.append(goHref(pageCount - 1));
            sb.append(goHref(pageCount));
        } else if ((curPage >= liststep) && (pageCount - curPage + 1 < liststep)) {  //显示  1 2 。。。 44 45 46
            sb.append(goHref(1));
            sb.append(goHref(2));
            sb.append("<span class=\"gap\">&hellip;</span>");

            int begin = pageCount - curPage + 1 < 3 ? pageCount - 2 : curPage - 1;
            for (int i = begin; i <= pageCount; i++) {
                if (i == curPage) {
                    sb.append("<span class=\"current\">" + i + "</span>");
                } else {
                    sb.append(goHref(i));
                }
            }
        }

        // 显示下-页
        if (curPage != pageCount) {
            // 加上链接 curpage+1
            sb.append("<a href=\"" + getHref(curPage + 1)
                    + "\" class=\"next_page\" rel=\"next\">" + NEXT_PAGE
                    + "</a>");
        } else {
            sb.append("<span class=\"disabled next_page\">" + NEXT_PAGE
                    + "</span>");
        }

        sb.append("</div>");


效果如图:










  • 大小: 4.4 KB
  • 大小: 5.3 KB
  • 大小: 6.3 KB
  • 大小: 6 KB
分享到:
评论

相关推荐

    java web 分页 设计

    ### Java Web 分页设计知识点详解 #### 一、分页设计概述 在Java Web开发中,当需要展示大量数据时,通常会采用分页技术来提高用户体验和减轻服务器负担。分页可以有效地控制每次加载的数据量,使得用户界面更加...

    asp.net分页设计

    ### ASP.NET中的分页设计详解 #### 一、引言 随着互联网技术的快速发展,用户对Web应用的要求越来越高。在处理大量数据时,如何高效地展示这些数据成为一个重要的问题。分页显示是一种常见的解决方法,它能够提升...

    Bootstrap分页组件的设计

    Bootstrap 分页组件的设计 Bootstrap 分页组件的设计是基于 Bootstrap 前端开发框架,简单设计了前端分页控件。该组件提供了一个基本的分页控件,能够满足大多数情况下的分页需求。 分页组件的结构 分页组件的...

    通用分页实现及其OO设计探讨(2)

    本话题将深入探讨“通用分页实现及其OO设计”,结合给定的“Paginaction.jsp”文件,我们可以进一步了解在Java Web开发中如何有效地实现分页功能。 首先,我们需要理解分页的基本概念。分页是将大量数据分割成多个...

    java分页设计

    ### Java分页设计详解 #### 一、引言 在Java Web开发中,为了提高用户体验并减轻服务器压力,分页技术被广泛应用。本篇文章将详细介绍Java分页技术的基本原理、实现方法及其应用场景,并通过示例代码展示如何在...

    超强php分页打包 通用分页 万能分页 ajax分页 google分页

    通用分页则是指设计一个可以适应多种场景的分页组件,它可能包含以下特性: 1. 参数化配置:允许用户自定义每页显示的记录数。 2. URL路由处理:支持参数传递,如通过`?page=2`来表示第2页。 3. 多种样式支持:提供...

    各种样式的分页模板page

    在网页设计中,分页是不可或缺的一个元素,它帮助用户在大量内容中进行导航,尤其在数据列表、文章集合或论坛等场景下显得尤为重要。"各种样式的分页模板page"是一个专门收集了多种风格分页设计的资源包,旨在为...

    php分页设计

    使用php设计网站时,读取数据要采用分页技术。

    html5分页插件制作手机端和网页分页列表代码

    分页是网页设计中的一个重要组成部分,特别是对于内容繁多的网站,如博客、论坛或电子商务平台。通过分页,用户可以更轻松地浏览和导航大量的数据,而不会被过长的页面所困扰。HTML5分页插件的制作通常会结合CSS3...

    分页技术的设计

    在本篇文章中,我们将深入探讨分页技术的设计,包括其重用性、设计策略以及实现方法,并关注公共的分页应用场景。 一、分页设计的重用性 分页功能的重用性是提高代码效率和减少开发时间的关键。通过创建可复用的...

    分页存储管理 操作系统课程设计

    "分页存储管理操作系统课程设计" 本课程设计的目的是为了让学生通过设计一个完整的程序,来加深对操作系统工作的理解,并为今后从事实际工作打下坚实的基础。课程设计涉及到操作系统的设计理念、整体机构、模块划分...

    java_swing表格分页

    Java Swing 表格分页实现 Java Swing 是一个用于构建图形用户界面的 Java 库,提供了丰富的用户界面组件和功能。在本文中,我们将探讨如何使用 Java Swing 实现表格分页。 表格分页的需求 在实际开发中,我们经常...

    24种非常漂亮的分页css样式

    在网页设计中,分页是一种常见的用户界面元素,用于处理大量数据或内容的展示,使得用户可以方便地浏览和导航。"24种非常漂亮的分页css样式"是一份资源,提供了24个独特且美观的分页设计示例,这些示例利用了CSS...

    黑白色精美分页

    在IT行业中,分页是一种常见的用户界面(UI)设计元素,尤其在数据量庞大的Web应用或移动应用中,用于帮助用户有效地浏览和管理大量的信息。"黑白色精美分页"可能指的是一个设计模板或者组件库,它提供了优雅的黑白...

    分页插件.zip

    3. **自定义样式**:插件允许开发者自定义分页按钮的样式,可以通过CSS来改变按钮的外观,满足不同网站设计需求。 4. **多种导航模式**:除了常见的数字分页,还可以提供“上一页”、“下一页”、“首页”、“末页...

    Java Ajax分页,jsp ajax分页

    在网页开发中,分页是一种常见的用户界面设计,用于处理大量数据时的高效展示。Java AJAX(Asynchronous JavaScript and XML)分页与JSP(JavaServer Pages)相结合,可以提供无需刷新整个页面即可动态加载更多内容...

    精选多款DIV+CSS分页样式源码

    在网页设计中,分页是一种常见的用户界面元素,用于处理大量数据或内容的展示,使得用户可以方便地浏览和导航。本资源包“精选多款DIV+CSS分页样式源码”聚焦于使用HTML的`&lt;div&gt;`标签配合CSS样式来实现各种美观且...

    推荐60种分页案例和好的实践

    在网页设计和开发中,分页是一个至关重要的元素,尤其对于大数据量的展示,如电商产品列表、新闻文章等。本资源"推荐60种分页案例和好的实践"提供了丰富的分页设计示例和最佳实践,旨在帮助设计师和开发者提升用户...

    JSP +分页技术+JSP经典分页代码+servlet +分页

    它演示了如何将业务逻辑、数据访问和视图呈现有效地分离,遵循了MVC(Model-View-Controller)设计模式。 总的来说,掌握JSP和Servlet的分页技术对于任何Java Web开发者来说都是必备技能。通过深入理解这个经典案例...

Global site tag (gtag.js) - Google Analytics