概述:
本文主要介绍我在蚂蚁金服时编写的前端列表组件,此组件将列表展示、分页、导出、自定义、查询条件、逻辑进行了封装,使用此组件可帮组你大幅提升系统研发效率,降低页面代码重复度,提升代码的可维护性,使系统代码整洁优雅。
本文接下来将按照以下顺序为您详细介绍:功能、特点、架构与实现、页面与后端代码示例。
欢迎加入阿里,有兴趣的发邮件给我fuqu.lgd@alibaba-inc.com, java技术体系好就行,具体要求不再这里发
一、功能:
1、提供基于velocity的页面标签列表展示。
2、提供后端分页参数
如当前需要展示第几条到第几条,组件提供工具类统一封装请求参数,使用非常简单易懂,示例 Pagin pagin = PaginHelper.getPagin(),仅此一行,即获取了所有的查询过滤条件、分页参数。
3、自定义列功能(用户可以自由选择显示或隐藏哪些列,定义列顺序)
4、动态列功能
开发者可以使用动态的,可以变化的列定义供用户选择显示,而不是仅仅是页面编写完成后静态具备的列
5、透明的列表导出功能
开发者不需要为导出列表开发额外的代码,有列表即可导出,提供使用开关,每一列都可以标识仅导出、仅浏览器显示或二者皆可。
6、行折叠与展开功能(在列表页面提供隐藏的部分,可以实时展开或折叠,此功能于龙同学设计)
7、统一的表头过滤、排序,每一列均可参与。
8、提供表格内容编辑功能。(双击编辑指定单元格)
二、特点
独立知识产权:代码完全由我们自主开发,不基于任何开源分页组件。
架构良好:各部分架构非常独立、分工明确、清晰,代码易于维护扩展,前段样式可插拔式替换,后端可基于不同的数据库实现分页。
组件通用:基于velocity前段渲染技术的系统均可使用,不论是完全开源的ssh架构,或是基于支付宝sofa的系统,甚至是基于淘宝webx系统。
成熟稳定:功能上已成熟稳定,已在蚂蚁金服后端系统运行3年多,追求小而美、实用、够用。
易于维护:代码风格良好,代码注释到位。
三、架构与实现
代码结构主要分为以下3个重要组成部分,功能独立、清晰易懂。
四、代码示例:
相关推荐
### 基于SSH的可重用分页技术设计与实现 #### 1. MVC与软件结构分层 ##### 1.1 设计思想 MVC(Model-View-Controller)模式是一种常用的软件架构设计模式,它提倡将应用程序分为三个核心组件:视图(View)、控制器...
Struts 2的配置文件(struts.xml)用于定义这些映射关系,以及全局的拦截器链,这些拦截器可以处理如权限验证、日志记录等通用任务。 WebWork是Struts 2的核心,它的许多特性被继承和发展。例如,WebWork引入了OGNL...
Tapestry 是一种基于组件的 Web 框架,拥有生命周期由重结构简单,容易一旦学会,效率 J2EE 规范;能点很多信息和示写绑定,效验等被扩展;标签库很高; HTML够快速和容易例;HTML 标确定;能够无缝容易被自定义,...
这意味着这个项目可能包含了一个集成XDOC(mini)的组件,允许用户不仅在Web界面上查询MongoDB数据,还能将查询结果转换为结构化的PDF文档输出。 在这个Java项目中,我们可以期待以下关键知识点: 1. **Java编程**:...
JFinal,作为国内首个基于Java语言的轻量级Web开发框架,以其简洁、高效的特性深受开发者喜爱。本项目实例旨在为初学者提供一个全面了解和实践JFinal的平台,通过实际操作,深入理解JFinal的核心理念与技术。 首先...
它利用了JasperReports这一功能全面的开源报表引擎,并采用了包括WebWork、Velocity、Quartz 和 Hibernate 在内的领先开源组件进行开发。 **OpenReports**支持广泛的报表需求,通过以下三个级别的报表生成来实现: ...
在Struts框架中,开发者可以利用Tiles组件来组织和重用页面布局,以及Interceptor拦截器来执行通用的预处理和后处理任务。 Struts2 是 Struts 的后续版本,它引入了更多功能和改进。Struts2 提供了更灵活的配置方式...
- **应用场景**:适用于快速开发过程中对通用功能的需求。 ##### 2. 后台框架hasweb - **简介**:一个轻量级、高性能的Java Web应用框架,支持RESTful风格的API设计,以及模块化、可插拔的设计理念。 - **链接**:...
本系统是基于RBAC授权和基于用户授权的细粒度权限控制通用平台,并提供单点登录、会话管理和日志管理。接入的系统可自由定义组织、角色、权限、资源等。用户权限=所拥有角色权限合集+用户加权限-用户减权限,优先级...