一种应用于企业信息系统开发过程中快速构建表单的方法

文档序号:6492474阅读:234来源:国知局
一种应用于企业信息系统开发过程中快速构建表单的方法
【专利摘要】本发明公开了一种应用于J2EE企业信息系统开发过程中快速构建动态业务表单的方法,该发明属于电子信息【技术领域】软件中间件软件技术。它是在表单域UI设计,采用HTML动态模版技术,提供B/S方式的表单定制页面和表单域定制页面,利用JDBC方式直接操作表单数据,完成表单定制后,后台自动生成模块儿根据定制信息对整个表单及对表单域的设计要求生成表定义数据,并存放在后台基础数据库中,前台页面显示数据时,使用后台统一的页面模板,从对应的实体表中动态取出真实数据,根据表定义数据显示。本发明具有代码量小,系统简单,高效,系统不需要重启,对表单域定义的修改操作可以立即看到实际效果的优点,可以提升表单的定制效率,降低开发成本,用户随时根据自身的需要定制表单,并实时见效及应用。
【专利说明】一种应用于企业信息系统开发过程中快速构建表单的方法
【技术领域】
[0001]本发明所属领域是电子信息技术-> 软件-> 中间件软件特别是涉及到表单生成技术
【背景技术】
[0002]在大多数企业信息系统中,表单是系统和用户交互的基本接口,表单提供信息的展现及输入信息的接收,实现信息的收集、处理及流转,表单在企业信息系统中有着十分重要的地位。在企业信息系统的开发过程中,需处理的表单数量众多、种类繁杂;在企业信息系统的使用过程中,随企业生产流程的变更,表单又表现出很强的易变动性。以上两点给企业系统的开发人员带来很大的挑战,能否快速构建表单和及时有效变更表单,在很大程度上决定了企业系统的开发进度和质量。为解决上述问题,我们提出了动态表单构建方法。
[0003]目前已有的表单构建方法一般采用在线自定义表单的方法,该方法描述如下: 提供由JavaScript脚本语言实现的表单定制页面,利用鼠标拖拽方式,在页面上用系
统提供的控件构建表单;页面构建完成后,为每页表单生成相应的一整套HTML页面代码、后台控制代码Action/Struts和Dao/Hibernate (业务逻辑层)业务代码及Spring等配置文件。整套页面需要重新部署才能生效。
[0004]优点:
1、可视化设计——所见即所得
2、易于使用,可以快速生成表单
3、控件种类齐全,交互性好
4、开发要求低 缺点:
1、表单相关定义文件数量繁多、冗余
2、不能满足表单信息项的变化
3、表单数据繁杂、无规律
4、表单定制效率低、开发成本高
5、必须重启系统,表单才能生效。

【发明内容】

[0005]表单的快速定制
提供B/S方式的表单定制页面和表单域定制页面,定制表单及表单域的基本参数,包括页面显示选项、jquery脚本校验选项、数据源选择、输出页面格式及是否支持缓存等表单要素。
[0006]表单与后台业务模块的集成
在表单定制过程中,除了可灵活自定义常规的表单类型外,还可以与后台的业务功能模块紧密衔接,调用后台的短信、彩信传输模块,实现一定的短彩信业务逻辑。[0007]表单的数据库存储
完成表单定制后,后台自动生成模块,根据定制信息对整个表单及对表单域的设计要求生成表定义数据,并存放在后台基础数据库中。
[0008]表单的动态变更
所有定制表单的操作立即生效,即使实体表里有数据的时候也可以动态修改表单和表单域的定义,系统不需要重启,对表单域定义的修改操作可以立即看到实际效果。
[0009]表单的统一展现
前台页面显示数据时,使用后台统一的页面模板,从对应的实体表中动态取出真实数据,根据表定义数据显示。所有对数据表的读写操作采用JDBC的方式直接操作数据库以达到高效的目的。
[0010]表单的缓存读取
表单定义数据在系统启动时一次性装入系统缓存中,当有动态修改表单定义需求时,系统会先更新到数据库表对应的表定义,再同步到系统缓存,接下来所有对动态表的操作都会先读取缓存中的表定义数据,以提升表单处理性能。
[0011 ] 本技术发明优点总结:
1、整个定制过程随时修改、及时生效,系统不用重启即可看到效果。
[0012]2、即使在表单里存在业务数据时也可动态修改表单的定义,最大程度 上保证数据不丢失。
[0013]3、采用HTML动态模板技术,所有表单共用一套展现代码,代码量小。
[0014]4、利用JDBC方式直接操作表单数据,系统简单、高效。
【专利附图】

【附图说明】
[0015]图1是本发明动态表单构建结构示意图。
【具体实施方式】
[0016]表单定制步骤:
在表单定制页面定制整个表单(Form)及对应域(Field)的基本属性.点击确定按钮提交到后台处理模块。
[0017]根据用户定义在系统HTML模板库及JQuery脚本库中生成表单域(Field)对应的相关HTML源码片断,将表单定义信息存入相关表.(tb_form, tb_form_conf , tb_form_field)。
[0018]系统的SQL分析器生成与表单对应的SQL建表语句,利用JDBC方式生成动态表单数据存储表。
[0019]表单显示步骤:
后台采用统一的4个页面模板:list.html (列表页模板),add.html (添加页模板);edit, html (修改页模板),view, html (查看页模板),以列表页模板(list, html)为例,数据的显示过程如下:
I).利用 JDBC 方式从表单定义相关表(tb_form, tb_form_conf , tb_form_field)中读出列表页面上要显示的具体域(Field)的相关列信息,包括:列名、中文名、排序参数,封装成一个查询用的SQL语句。
[0020]2).利用JDBC方式查询真实的动态表单数据存储返回对应的分页数据集变量pageList。
[0021]3).list, html页面模板会循环处理pageList变量中的数据显示。
[0022]
3.主要类及方法说明:
DynamicFormAct.java:动态表单Action动作控制器:负责页面请求的跳转处理,调用DynamicFormService.java类中相应的方法完成业务数据的请求处理过程。
[0023]DynamicFormService.java:动态表单业务控制层:负责业务请求的封装,并调用DynamicFormDa0.java 类操作数据库。
[0024]DynamicFormDa0.java:动态表单涉及到的所有JDBC操作封装DAO层。
[0025]其中DynamicFormAct.java类的主要方法说明如下:
public String list O查询数据方法:提供页面上的列表显示,处理方式如下:
I)调用 DynamicFormService.java 类的 queryFormByField O 方法定位到 Form 表单对象,并获取Field表单域的相关定义信息。
[0026]2)调用getSearchKeys O方法组装页面上Request查询请求里传过来的参数和值到指定的Map变量queryMap里。
[0027]3) 封装必要的分页,排序等查询参数,调用DynamicFormService.java类中的search O 方法。
[0028]4) 最后调用DynamicFormDa0.java类的search O方法根据queryMap里的查询条件结合表单定义信息拼装成对应的SQL查询语句,执行数据库查询操作并返回列表格式的分页数据。
[0029]数据库表结构设计。
[0030]I).表单基本信息配置表:tb_form
用来存储表单的基本信息,其中关键字段如下:
db_type:数据库类型:支持Oracle, SQL Server, DB2, Mysql等常见数据库类型。
[0031]module_name:表单所属的模块名:
tb_name:数据存储表单的真实名字:形如d_xxxxxxxxxx_tb,是由系统自动生成唯一的名字,其中xxxxxxxxxx表示系统生成的唯一序号。
[0032]其中,“ tb_name ”字段有着重要的作用,通过该字段的信息我们才能将表单中信息与其具体含义对应起来。
[0033]2).表单详细配置表:tb_form_conf
以key:value的方式存储的表单业务相关配置:包括表单数据源配置,消息模板配置,及缓存配置。
[0034]3).表单域配置子表:tb_form_field
用来存放表单数据存储表中的列的具体含义。包括列的基本数据类型,长度,列名,中文显示名,默认值等。其中关键字段如下:add_html:对应到添加页面的HTML片断edit_html:对应到修改页面的HTML片断 view_html:对应到查看页面的HTML片断
通过页面上定制的表单域(Field)的详细配置,系统生成相对应的HTML源码片断保存到数据库中,由这三个字段决定表单域(Field)的具体显示效果。
[0035] 4).表单数据存储表,例如:d_20111224134000673_tb 是动态表单数据的具体存储表。
【权利要求】
1.一种应用于企业信息系统开发过程中快速构建动表单的方法,在包括表单的快速定制、表单与后台业务模块的集成、表单的数据库存储、表单的动态变更、表单的统一展现、表单的缓存读取,其特征在于:用下述方法实现表单的动态快速的构建: (1)提供B/S方式的表单定制页面和表单域定制页面,定制表单及表单域的基本参数,包括页面显示选项、jquery脚本校验选项、数据源选择、输出页面格式及是否支持缓存等表单要素; (2)在表单定制过程中,除了可灵活自定义常规的表单类型外,还可以与后台的业务功能模块紧密衔接,调用后台的短信、彩信传输模块,实现一定的短彩信业务逻辑; (3)完成表单定制后,后台自动生成模块儿根据定制信息对整个表单及对表单域的设计要求生成表定义数据,并存放在后台基础数据库中; (4)所有定制表单的操作立即生效,即使实体表里有数据的时候也可以动态修改表单和表单域的定义,系统不需要重启,对表单域定义的修改操作可以立即看到实际效果; (5)前台页面显示数据时,使用后台统一的页面模板,从对应的实体表中动态取出真实数据,根据表定义数据显示,所有对数据表的读写操作采用JDBC的方式直接操作数据库以达到闻效的目的; (6)表单定义数据在系统启动时一次性装入系统缓存中,当有动态修改表单定义需求时,系统会先更新到数据库表对应的表定义,再同步到系统缓存,接下来所有对动态表的操作都会先读取缓存中的表定义数据,以提升表单处理性能。
【文档编号】G06F9/44GK103853543SQ201210521801
【公开日】2014年6月11日 申请日期:2012年12月7日 优先权日:2012年12月7日
【发明者】不公告发明人 申请人:北京云天时空科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1