`

猜测 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"是一个专门收集了多种风格分页设计的资源包,旨在为...

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

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

    php分页设计

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

    分页技术的设计

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

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

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

    java_swing表格分页

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

    JS分页效果JS分页效果JS分页效果

    pagination.css文件很可能是为分页样式设计的。CSS可以定义分页组件的外观,包括但不限于: 1. 分页按钮的大小、颜色、边框、圆角等视觉属性。 2. 激活状态(当前页)的样式,以突出显示。 3. 鼠标悬停时的样式,...

    高级分页高级分页高级分页高级分页

    高级分页高级分页高级分页高级分页高级分页高级分页高级分页高级分页高级分页高级分页高级分页高级分页高级分页高级分页高级分页高级分页高级分页高级分页高级分页高级分页高级分页高级分页高级分页高级分页高级分页...

    黑白色精美分页

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

    分页插件.zip

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

    Java Ajax分页,jsp ajax分页

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

    QTableWidget,QTableView分页的分页栏

    实现分页栏的关键在于设计一个数据模型(`QAbstractTableModel` 或 `QSqlQueryModel`),该模型能够根据当前页号和每页数量来决定实际显示的数据范围。以下是一些实现步骤: 1. **创建自定义数据模型**:扩展`...

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

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

Global site tag (gtag.js) - Google Analytics