`

基于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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics