`

基于velocity的通用分页组件

阅读更多

概述:
      本文主要介绍我在蚂蚁金服时编写的前端列表组件,此组件将列表展示、分页、导出、自定义、查询条件、逻辑进行了封装,使用此组件可帮组你大幅提升系统研发效率,降低页面代码重复度,提升代码的可维护性,使系统代码整洁优雅。
      本文接下来将按照以下顺序为您详细介绍:功能、特点、架构与实现、页面与后端代码示例。

 

欢迎加入阿里,有兴趣的发邮件给我fuqu.lgd@alibaba-inc.com, java技术体系好就行,具体要求不再这里发

 

一、功能:
1、提供基于velocity的页面标签列表展示。



 

2、提供后端分页参数
      如当前需要展示第几条到第几条,组件提供工具类统一封装请求参数,使用非常简单易懂,示例 Pagin pagin = PaginHelper.getPagin(),仅此一行,即获取了所有的查询过滤条件、分页参数。

3、自定义列功能(用户可以自由选择显示或隐藏哪些列,定义列顺序)
pasted_image_15

4、动态列功能
      开发者可以使用动态的,可以变化的列定义供用户选择显示,而不是仅仅是页面编写完成后静态具备的列

5、透明的列表导出功能
      开发者不需要为导出列表开发额外的代码,有列表即可导出,提供使用开关,每一列都可以标识仅导出、仅浏览器显示或二者皆可。

6、行折叠与展开功能(在列表页面提供隐藏的部分,可以实时展开或折叠,此功能于龙同学设计)
pasted_image_22

7、统一的表头过滤、排序,每一列均可参与。

pasted_image_24

8、提供表格内容编辑功能。(双击编辑指定单元格)

pasted_image_16

二、特点
      独立知识产权:代码完全由我们自主开发,不基于任何开源分页组件。
      架构良好:各部分架构非常独立、分工明确、清晰,代码易于维护扩展,前段样式可插拔式替换,后端可基于不同的数据库实现分页。
      组件通用:基于velocity前段渲染技术的系统均可使用,不论是完全开源的ssh架构,或是基于支付宝sofa的系统,甚至是基于淘宝webx系统。
      成熟稳定:功能上已成熟稳定,已在蚂蚁金服后端系统运行3年多,追求小而美、实用、够用。
      易于维护:代码风格良好,代码注释到位。

三、架构与实现
      代码结构主要分为以下3个重要组成部分,功能独立、清晰易懂。

pasted_image_25

pasted_image_21

 

四、代码示例:

pasted_image_20pasted_image_18pasted_image_17

 

  • 大小: 142.4 KB
分享到:
评论

相关推荐

    velocity生成静态网页并分页

    对于分页功能,通常需要以下几个关键组件: 1. **总记录数**:获取数据库中的总行数,这是计算总页数的基础。 2. **每页记录数**:用户可配置或预设每一页显示的记录数量。 3. **当前页数**:根据URL参数或会话状态...

    velocity实现静态页面分页

    本文将深入探讨如何使用Velocity来实现静态页面的分页功能。 一、Velocity简介 Velocity是由Apache软件基金会开发的开源项目,它提供了一个简单的模板语言,使得开发者可以将内容与展示逻辑分离,让设计人员专注于...

    ssm框架+maven+velocity+pagehelper分页整合

    本项目整合了这三个组件,并加入了Maven作为构建工具,以及Velocity模板引擎和PageHelper分页插件,以提供更便捷的开发体验。以下是关于这些技术的详细介绍: 1. **Spring框架**:Spring是Java企业级应用的核心框架...

    基于Velocity的代码生成器

    `velocity-tools-1.3.jar`是Velocity Tools库,为Velocity提供了一些额外的工具和组件,如视图助手(View Helpers)、资源管理器等,这些可以帮助提升模板的可维护性和功能性。 `template`文件夹可能包含了各种模板...

    velocity分页的例子

    在这个"velocity分页的例子"中,我们将探讨如何使用Velocity实现分页功能,这对于处理大量数据的网页展示至关重要。 分页是一种用户界面设计技术,用于将大量数据分割成多个小块,每次只显示一部分,以提高用户体验...

    ssm+velocity增删改分页(含数据库)

    在这个项目中,“ssm+velocity增删改分页(含数据库)”是针对初学者的一个实践教程,涵盖了基本的Web应用开发流程,包括数据操作和用户界面的展示。 首先,让我们详细了解一下SSM框架: 1. **Spring**:这是一个...

    velocity+ssh2+分页+权限

    总结,"velocity+ssh2+分页+权限"的整合涉及到Web开发中的多个关键环节,包括模板引擎的使用、MVC架构的实现、数据的分页展示以及安全的权限控制。通过这样的整合,开发者可以构建出高效、安全且易于维护的企业级...

    自定义通用分页一行代码解决分页问题

    本主题围绕“自定义通用分页一行代码解决分页问题”展开,介绍如何通过提供的BaseDao、PageBean分页工具类以及PageBeanTag助手类实现高效且简洁的分页功能。 首先,`BaseDao`是数据库操作的基类,通常包含了基本的...

    一个粗糙的代码生成器,基于velocity

    【标题】:“一个粗糙的代码生成器,基于velocity” 这个标题揭示了我们正在讨论的是一款使用Velocity模板引擎作为基础的代码生成工具。Velocity是Apache软件基金会的一个开源项目,它是一个用Java编写的模板语言,...

    基于Velocity.js的超酷滚动页面特效

    这款库尤其适合用于创建复杂的页面滚动特效,如在给定的“基于Velocity.js的超酷滚动页面特效”项目中所示。 该项目包含7种独特的滚动效果,每一种都能为用户带来丰富的视觉体验: 1. **缩放**:页面元素随着滚动...

    基于velocity.js过渡动画效果的Bootstrap模态窗口和Popover.zip

    这是一款基于velocity.js过渡动画效果的Bootstrap模态窗口和Popover。该效果在Bootstrap模态窗口和Popover的基础上,使用velocity.js来制作模态窗口和Popover打开时的动画过渡效果。

    一套基于SpringMVC+velocity框架的web应用 ,基于注解

    综上所述,这套基于SpringMVC+Velocity的web应用利用了SpringMVC的注解驱动特性,简化了控制器和依赖管理;Velocity作为模板引擎,负责生成动态内容;Sitemesh则确保了页面的布局一致性。这种架构组合提供了高效、...

    velocity-1.5.jar,velocity-1.6.2-dep.jar,velocity-tools-1.3.jar

    Velocity是Apache软件基金会的一个开源项目,它...总的来说,Velocity和Velocity Tools是Java Web开发中的重要组件,它们帮助开发者构建高效、可维护的Web应用,同时保持前后端的清晰分离,提高了开发效率和用户体验。

    基于velocity.js过渡动画的Bootstrap模态窗口和Popover特效.zip

    在这个项目中,“基于velocity.js过渡动画的Bootstrap模态窗口和Popover特效”是一个增强Bootstrap功能的例子,它利用velocity.js这个高性能的JavaScript动画库来实现更为流畅和动态的交互效果。 首先,我们来了解...

    Velocity教程

    3. **Velocity Engine**: 这是 Velocity 的核心组件,负责解析模板,合并上下文数据,并生成最终的输出。 **三、Velocity模板语言** 1. **变量(Variable)**: 变量以`$`开头,如`$name`。当Velocity渲染模板时,它...

    velocity的jar包

    Velocity是Apache软件基金会的一个开源项目,它是一个基于Java的模板引擎,用于生成动态网站内容。Velocity被设计成一个轻量级的、快速的、非侵入式的模板语言,使得开发者能够将HTML页面的展示逻辑与业务逻辑分离,...

    Velocity用户手册(中文)

    **Velocity简介** Velocity是一款强大的Java模板引擎,由Apache软件基金会开发并维护,是Apache Jakarta项目的一部分。它旨在将呈现逻辑从应用程序代码中分离出来,使开发者可以专注于业务逻辑,而设计师则可以专注...

    springmvc+mybatis+velocity整合实例

    Spring MVC、MyBatis 和 Velocity 是三个在Java Web开发中常用的框架。Spring MVC 作为MVC模式的实现,负责处理HTTP请求,MyBatis 是一个轻量级的持久层框架,用于简化数据库操作,而Velocity 则是一个快速、强大且...

Global site tag (gtag.js) - Google Analytics