CN103365646B - 基于脚本引擎的表单自定义、逻辑定义及处理方法 - Google Patents

基于脚本引擎的表单自定义、逻辑定义及处理方法 Download PDF

Info

Publication number
CN103365646B
CN103365646B CN201210103980.9A CN201210103980A CN103365646B CN 103365646 B CN103365646 B CN 103365646B CN 201210103980 A CN201210103980 A CN 201210103980A CN 103365646 B CN103365646 B CN 103365646B
Authority
CN
China
Prior art keywords
data
script
list
configuration
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210103980.9A
Other languages
English (en)
Other versions
CN103365646A (zh
Inventor
严伟锋
杨俊杰
程邓时
胡伟琪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yifeng United (beijing) Technology Co Ltd
Original Assignee
Yifeng United (beijing) Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yifeng United (beijing) Technology Co Ltd filed Critical Yifeng United (beijing) Technology Co Ltd
Priority to CN201210103980.9A priority Critical patent/CN103365646B/zh
Publication of CN103365646A publication Critical patent/CN103365646A/zh
Application granted granted Critical
Publication of CN103365646B publication Critical patent/CN103365646B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

一种基于脚本引擎的表单自定义、逻辑定义及处理方法,步骤为:一、通过表单描述信息配置模块录入管理表单的描述信息,描述信息中增加数据索引方式、字段的存储方式及表单控件对应表单存储字段的描述;二、服务器解析获取表单配置并保存;三、利用自定义逻辑脚本执行引擎进行发布和操作;四、利用数据访问代理层以数据代理方式,根据表单配置模块所保存在服务器端的表单配置数据在表单运行环节加载配置。本发明自定义表单系统通过自定义脚本逻辑模块,可以轻易实现在用户管理的过程中对自定义逻辑的植入,以满足复杂多变的业务逻辑定制。通过数据代理模块实现数据储存结构的自定义,可以轻易实现数据的分散存储,而不增加数据查询存储的复杂度。

Description

基于脚本引擎的表单自定义、逻辑定义及处理方法
技术领域
本发明涉及计算机系统的信息管理,尤指一种可以轻易实现在用户管理的过程中对自定义逻辑的植入的基于脚本引擎的表单自定义、逻辑定义及处理方法。
背景技术
数据的管理始终是计算机信息系统管理的核心,计算机信息系统的开发也围绕着数据管理的核心来进行的,根据不同的领域及业务特点,抽象出要管理的数据,以及数据处理的流程,在各个流程环节提供用户操作界面,使用人员通过操作界面与程序交互从而完成整个数据处理的过程,最终将处理的结果或存储或呈现给用户。在信息系统中提供自定义表单功能,可以简化程序开发过程,并且可以提高系统的灵活性,自定义表单系统在信息系统中有很广泛的应用。现行的自定义表单系统实现相对简单,一般通行的办法是,通过用户配置得到表单界面元素的描述数据,以及表单对应的数据库表结构,程序根据描述数据自动生成表单管理界面和以及数据存储逻辑。现有技术方案示意图如图1所示
一、用户通过系统提供的工具完成对表单定义,得到表单描述数据,表单描述数据大致可以分为三点:
1.表单录入界面的描述,基本信息包括录入界面的样式,都有哪些控件,控件对应表单的那个字段,默认值是多少,字段的合法性校验规则等。
2.表单数据查询界面描述,数据包括,用哪些字段检索,查询字段条件数据采用的输入控件,查询结果返回哪些字段的数据,以及列表页的样式等。
3.表单存储方式描述,包括表单都有那些字段,字段的类型、长度,表单的存储数据表名称
二、通过步骤一的数据系统自动生成表单的管理以及查询界面,用户通过管理界面完成数据的管理,自动完成用户管理数据的存储工作。
现行的表单系统虽然极大提高了信息系统的灵活行,但是也有很明显的缺点
1. 现有自定义表单系统,通常逻辑比较固定,仅能实现数据的存储与查询,一旦数据的处理逻辑再局限于表单的查询和存储需求,则需要额外引入业务逻辑对数据进行再加工,现有模式无法适应,一般需要对表单系统进行定制开发来扩充现有的系统,需要对现有系统做版本升级,成本较高。
2. 现有表单系统存储结构比较单一,通常是将数据全部存储在数据库,这种方式虽然方便管理与查询,但是也有不可忽视的缺点,对于不适合放在数据库的数据如大文本等类型的数据也放必须在数据库,从而影响数据库的效率,对数据库效率敏感的系统危害较大。
发明内容
为解决现有技术中的问题,本发明主要目的在于:提供一种可以轻易实现在用户管理的过程中对自定义逻辑的植入的基于脚本引擎的表单自定义、逻辑定义及处理方法。
本发明提供一种基于脚本引擎的表单自定义、逻辑定义及处理方法,步骤为:
一、通过表单描述信息配置模块录入管理表单的描述信息,描述信息中增加:数据索引方式、字段的存储方式及表单控件对应表单存储字段的描述;
二、服务器解析获取表单配置并保存;
三、通过管理和查询界面管理查询数据,在用户管理数据过程中,保存数据时,将需要保存的数据以上下文环境变量的方式传递到逻辑脚本执行引擎,辑脚本执行引擎加载用户自定义的数据保存前脚本,对传递的数据进行加工,加工后的数据通过脚本引擎上下文变量的方式回传,完成自定义保存前脚本的处理过程,接收回传数据后调用数据代理保存数据,保存数据后将保存数据的结果,以及数据本身传递给辑脚本执行引擎,脚本加载保存后脚本,运行保存后脚本逻辑代码,将结果返回给程序,然后同理调用发布脚本,完成发布逻辑的执行;
四、利用数据访问代理层以数据代理方式,根据表单配置模块所保存在服务器端的表单配置数据在表单运行环节加载配置。
前述表单描述信息包括:表单的字段定义:字段类型、字段长度、字段名称、默认值、索引方式及字段的存储方式;表单管理界面的定义:表单管理界面模板、表单采用的控件、表单控件的描述信息、表单控件对应表单存储字段、表单控件的样式、表单控件的高度及宽度、默认值及数据合法性校验的正则表达式、表单控件的数据源及表单控件的扩展配置;表单数据查询界面描述,数据包括:用哪些字段检索、查询字段条件数据采用的输入控件、查询结果返回哪些字段的数据、及表单查询列表模板以及列表页的样式;表单脚本逻辑介入点脚本配置,逻辑脚本介入点包括:数据保存前、数据保存后及数据发布脚本。
前述数据代理方式为:将表单数据传递给代理接口,同时传递表单ID;然后,代理接口根据ID加载对应的表单配置,根据存储方式的将数据存储到对应的位置;之后,根据表单配置分别从不同的存储介质查询表单数据,然后将数据合并,并返回表单数据。
前述方法中:表单数据以类实现的哈希表的方式传递给代理接口;然后,代理接口解析表单配置,并扫描哈希表的特定键key,根据特定键key查找表单配置中表单的存储方式;之后,并以哈希表的方式返回表单数据。
前述步骤三的具体方法为:
步骤1:通过系统提供的表单视图页面,同时将所要请求的表单ID以及要请求的表单数据ID以参数的方式提交到服务器,服务器端接受表单ID参数,并根据表单ID加载表单配置数据;
步骤2:系统根据步骤1加载的数据,获取表单视图的模板;
步骤3:系统根据提交的表单数据ID参数,如果数据ID等于零,则为新增数据直接转到步骤5,反之则为修改数据转到步骤4;
步骤:4:根据步骤1中加载的表单数据,获取表单的默认值配置,并将默认值传递给表单视图模板;
步骤5:根据数据ID,加载表单数据并将表单数据传递给表单视图模板;
步骤6:通过模板引擎解析表单模板,得到表单的HTML内容;
步骤7:将步骤6中所产生的HTML内容输入到web页面上完成表单视图的渲染工作。
前述步骤2采用的是FreeMarker模板。
与现有技术相比,本发明的优点:
1、本发明自定义表单系统通过自定义脚本逻辑模块,可以轻易实现在用户管理的过程中对自定义逻辑的植入,以满足复杂多变的业务逻辑定制。
2、本发明自定义表单系统通过数据代理模块实现数据储存结构的自定义,可以轻易实现数据的分散存储,而不增加数据查询存储的复杂度,可以很容易的解决系统的数据访问瓶颈问题。
附图说明
图1现有技术表单的描述及解析方案示意图。
图2本发明系统结构划分示意图。
图3本发明表单管理界面渲染流程图。
图4本发明表单查询渲染过程流程图。
图5为自定义扩展逻辑脚本执行流程图。
图6本发明数据代理层实现修改数据的查询的流程图。
图7本发明数据代理层实现表单数据的查询的流程图。
具体实施方式
针对现有状况本发明在表单处理的过程中通过自定义的脚本来完成表单系统的逻辑扩展,从而提高表单的灵活性,而不需要对系统进行扩展,来完成表单的定制开发,减少开发成本,通过扩展表单描述定义,增加数据访问代理层,完成数据多元化存储需求,数据可以根据需求存储到数据库,nosql,磁盘文件,以及上述三种方式的混合,通过数据访问代理,扩展逻辑脚本可以透明访问数据而不需要关心数据存储方式差异。
本发明中方法中将系统结构划分如图2所示,包含:1、表单描述信息配置模块;2、表单解析渲染模块;3、执行中要用到的自定义逻辑脚本执行引擎;4、数据访问代理模块。主要改进是在现有表单描述信息配置模块基础上增加数据存储方式的自定义部分,利用本领域其它技术中的数据访问代理模块来完成这个自定义部分。
一、 表单描述信息配置模块
表单系统通过提供给用户的表单定制向导工具,表单向导工具提供web表单视图,用户通过web界面录入管理表单的描述信息。用户填写完web表单后,提交表单到服务器,服务器解析获取表单配置并保存。具体可以将html中的表单提交给统一的Action,Action收集表单数据传递数据给数据代理,数据代理加载表单配置根据配置存储数据。
表单描述信息包括:
1、表单的字段定义,字段类型,字段长度,字段名称,默认值,索引方式,字段的存储方式。
2、表单管理界面的定义,表单管理界面模板,表单采用的控件,表单控件的描述信息,表单控件对应表单存储字段,表单控件的样式,表单控件的高度,宽度,默认值,及数据合法性校验的正则表达式,表单控件的数据源,及表单控件的扩展配置。
3. 表单数据查询界面描述,数据包括,用哪些字段检索,查询字段条件数据采用的输入控件,查询结果返回哪些字段的数据,及表单查询列表模板,以及列表页的样式等。
4.表单脚本逻辑介入点脚本配置 ,逻辑脚本介入点包括,数据保存前,数据保存后,数据发布脚本。
即:在现有表单描述信息中增加:数据索引方式、字段的存储方式及表单控件对应表单存储字段的描述,以实现透明访问数据而不需要关心数据存储方式差异的效果。
二、表单解析渲染模块
系统根据表单配置模块所保存在服务器端的表单配置数据在表单运行环节加载配置,根据配置生成提供给用户的数据管理和查询界面,表单管理界面渲染流程图如图3所示。
步骤1:用户通过系统提供的表单视图页面,同时将所要请求的表单ID以及要请求的表单数据ID以参数的方式提交到服务器,服务器端接受表单ID参数,并根据表单ID加载模块1所产生数据。
步骤2:系统根据步骤1加载的数据,获取表单视图的模板,该模板通常使用已有的模板技术的模板文件来处理,本方案采用的是FreeMarker模板来解决问题,以此类推技术人员可以使用其他模板方式来完成模板的解析工作。
步骤3:系统根据提交的表单数据ID参数,如果数据ID等于零则为新增数据直接转到步骤5,反之则为修改数据转到步骤4。
步骤:4:根据步骤1中加载的表单数据,获取表单的默认值配置,并将默认值传递给表单视图模板。
步骤5:根据数据ID,加载表单数据并将表单数据传递给表单视图模板。
步骤6:通过FreeMarker模板引擎解析表单模板,得到表单的HTML内容。
步骤7:将步骤6中所产生的HTML内容输入到web页面上完成表单视图的渲染工作。
图4为本发明表单查询渲染过程流程图。
脚本引擎:脚本是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。脚本引擎对脚本进行编译和执行。脚本引擎通常用于嵌入到编译型应用程序中,用于执行扩展的逻辑脚本,来扩充程序的功能,例如EXCEL软件中的VBA脚本是由EXCEL中嵌入的VBA脚本引擎来执行的。
三、自定义逻辑脚本执行引擎模块
用户通过管理和查询界面管理查询数据,在用户管理数据过程中,保存数据时系统会将需要保存的数据以上下文环境变量的方式传递到脚本引擎,脚本引擎加载用户自定义的数据保存前脚本,对传递的数据进行加工,加工后的数据通过脚本引擎上下文变量的方式回传,完成自定义保存前脚本的处理过程,系统接收回传数据后调用数据代理保存数据,保存数据后将保存数据的结果,以及数据本身传递给脚本引擎,脚本加载保存后脚本,运行保存后脚本逻辑代码,将结果返回给程序,然后同理调用发布脚本,完成发布逻辑的执行。
步骤1:表单渲染模块渲染的表单管理界面,系统用户对表单数据输入或修改,完毕后提交表单。
步骤2:由步骤1用户提交的数据以POST的方式提交到服务器,服务器端获取POST数据,将post过来的数据放在HashMap中以键值对的方式传递给脚本引擎。
步骤3:加载表单定义配置里的保存前脚本,脚本引擎执行保存前脚本,步骤2中的数据以环境变量的方式传递给保存前脚本。
步骤4:从脚本引擎获取保存前脚本执行后的环境变量集合,获取脚本变量集合中特定键key为verify的变量值(VERIFY() 宏,这个宏允许将程序代码放在布尔表达式里。这个宏通常用来检查 Windows API 的返回值)。
步骤5:检查verify变量的值,如果为TRUE转到步骤7如果为FASLE转到步骤6(True在编程语言中代表逻辑值:真,与逻辑值False“假”意义相反)。
步骤6:从步骤4中获取的脚本变量集合中,获取key为msg的变量值,并将该变量值作为信息输出到用户页面,然后完成整个过程。
步骤7:从步骤4中获取的脚本变量集合中,获取key为data的变量数据,该数据为键值对集合数据,从data数据中获取key为id的变量。
步骤8:检查id值是否为0,是0则执行步骤9,否则执行步骤10。
步骤9:将post数据插入到存储设备获取id的自增长值,将值改写到data中key为id的变量中。
步骤10:修改数据,修改该id的存储记录。
步骤11:加载表单定义配置里的保存后脚本,脚本引擎执行保存后脚本,将步骤4中获取的环境变量传递给保存后前脚本。
步骤12:获取步骤11脚本运行后脚本环境变量集合, 加载发布脚本,脚本引擎执行发布脚本,将获取的环境变量传递给发布前脚本。
步骤13:获取步骤12脚本执行后脚本引擎的环境变量,获取环境变量中key为msg的值,将msg的信息输出到用户页面,整个过程完成。
HashMap:基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 此实现假定哈希函数将元素适当地分布在各桶之间,可为基本操作(get 和 put)提供稳定的性能。迭代 collection 视图所需的时间与 HashMap 实例的“容量”(桶的数量)及其大小(键-值映射关系数)成比例。所以,如果迭代性能很重要,则不要将初始容量设置得太高(或将加载因子设置得太低)。
四、数据访问代理模块
数据代理实现了表单数据的查询和增加修改的接口,如图6、7:
1. 用户提交数据调用数据添加接口,用户将表单数据hashtable方式传递给代理接口,同时传递表单ID。
2. 代理接口根据ID加载对应的表单配置,代理接口解析表单配置,并扫描hashtable的key,根据key查找表单配置中表单的存储方式,根据存储方式的将数据存储到对应的位置。
3. 数据查询的方式和数据添加修改类似,根据表单配置分别从不同的存储介质查询表单数据,然后将数据合并,以hashtable的方式返回表单数据。
代理的概念是:假定文件位于文件服务器上,想读、写而整个或部分地运输这些文件,支持大多数现代文件服务器的关键技术是虚拟文件存储器,这是一个抽象的文件服务器。虚拟文件存储给访问端提供一个标准化的接口和一套可执行的标准化操作。隐去了实际文件服务器的不同内部接口,使访问端只看到虚拟文件存储器的标准接口,访问和运输远地文件的应用程序,有可能不必知道各种各样不兼容的文件服务器的所有细节。
具体本发明的该方式通过统一的访问接口实现数据访问,数据的存储差异有数据代理完成,屏蔽了数据存储组合位置的复杂性。
1. 同类系统中,大多采取单一方式的数据存储方式,只将数据存储在nosql,磁盘文件,数据库三者其中一种。
2. 同类系统中一般也会抽象出一个数据访问层,该访问层也可以称为数据代理层,不过该方式和我们的方式有着显著地不同。
a. 该方式的数据访问层是硬编码的方式,也就是说只要程序发布该访问层是固定的不会随着数据结构的变化而调整,需要重新修改程序代码,而这种方式是比较低效且危险的。
b. 该方式的数据存储位置也是相当单一的,对于同一个表单或者一个抽象模型对象的数据只存储在一种存储介质中。
该系统需要克服的难点
1. 需要有一个能够描述表单的配置,该配置能够清楚的描述表单各元素的数据类型,存储方式,长度,以及校验规则
2. 在访问和存储表单数据过程中需要加载并解析表单描述文件,根据表单描述文件从不同的存储介质查询或修改数据。
代理设置的具体实例:
将html中的表单提交给数据处理Action,用html中form的Action表示
html的表单这样写:
<form name=form1 action="xform!saveData.jhtml" method=post>
<INPUT id=text1 name="field1" value="1">
<INPUT id=text2 name="field2" value="2">
<!--可以在加若干个input!-->
<INPUT id=submit1 type=submit value=Submit name=submit1>
</form>
表单基础配置信息:
表单基础信息中描述各对应字段的存储方式,表单存储方式描述如下(只列出了便于理解的表单的存储方式信息)
<form id=1 name=”frm_1” >
<fields>
<field>
<name>field1</name>
<type>int</type>
<saveType>db</saveType>
</field>
<field>
<name>field2</name>
<type>int</type>
<saveType>nosql</saveType>
</field>
</fields>
</form>
代理存储数据的处理方式
1.接收表单数据
2.根据表单id加载表单配置
3.根据配置采取不同的存储方式,伪代码如下
FormConfig conf = FormConfig.loadConfig(1)
for(String key:data.keySet())
{
//根据表单的类型来采取对应的存储方式
switch(conf.get(key).getSaveType())
case saveType.DB:
Proxy.saveToDb(data.get(key))
Break;
case saveType.NOSQL:
Proxy.saveToDb(data.get(key))
…..
}
与现有技术相比,本发明的优点:
1、本发明自定义表单系统通过自定义脚本逻辑模块,可以轻易实现在用户管理的过程中对自定义逻辑的植入,以满足复杂多变的业务逻辑定制。
2、本发明自定义表单系统通过数据代理模块实现数据储存结构的自定义,可以轻易实现数据的分散存储,而不增加数据查询存储的复杂度,可以很容易的解决系统的数据访问瓶颈问题。

Claims (6)

1.一种基于脚本引擎的表单自定义、逻辑定义及处理方法,其特征在于,步骤为:
一、通过表单描述信息配置模块录入管理表单的描述信息,描述信息中增加:数据索引方式、字段的存储方式及表单控件对应表单存储字段的描述;
二、服务器解析获取表单配置并保存;
三、通过管理和查询界面管理查询数据,在用户管理数据过程中,保存数据时,将需要保存的数据以上下文环境变量的方式传递到脚本引擎,脚本引擎加载用户自定义的数据保存前脚本,对传递的数据进行加工,加工后的数据通过脚本引擎上下文变量的方式回传,完成自定义保存前脚本的处理过程,接收回传数据后调用数据代理保存数据,保存数据后将保存数据的结果,以及数据本身传递给脚本引擎,脚本引擎加载保存后的脚本,运行保存后的脚本逻辑代码,将结果返回给程序,然后同理调用发布脚本,完成发布逻辑的执行;
四、利用数据访问代理层以数据代理方式,根据表单描述信息配置模块所保存在服务器端的表单配置数据在表单运行环节加载配置;
其中,所述步骤三的具体执行方式为:
步骤1:在表单渲染模块,系统用户对表单数据输入或修改,完毕后提交表单;
步骤2:由步骤1用户提交的数据以POST的方式提交到服务器,服务器端获取POST数据,将POST过来的数据放在哈希表中以键值对的方式传递给脚本引擎;
步骤3:加载表单配置里的保存前脚本,脚本引擎执行保存前脚本,步骤2中的数据以环境变量的方式传递给保存前脚本;
步骤4:从脚本引擎获取保存前脚本执行后的环境变量集合,获取脚本变量集合中key为verify的变量值;
步骤5:检查verify变量的值,如果为TRUE转到步骤7如果为FASLE转到步骤6;
步骤6:从步骤4中获取的脚本变量集合中,获取key为msg的变量值,并将该变量值作为信息输出到用户页面,然后完成整个过程;
步骤7:从步骤4中获取的脚本变量集合中,获取key为data的变量数据,该数据为键值对集合数据,从data数据中获取key为id的变量;
步骤8:检查id值是否为0,是0则执行步骤9,否则执行步骤10;
步骤9:将POST数据插入到存储设备获取id的自增长值,将值改写到data中key为id的变量中;
步骤10:修改数据,修改该id的存储记录;
步骤11:加载表单配置里的保存后脚本,脚本引擎执行保存后脚本,将步骤4中获取的环境变量传递给保存后脚本;
步骤12:获取步骤11中脚本引擎执行保存后脚本的环境变量, 加载发布脚本,脚本引擎执行发布脚本,将获取的环境变量传递给发布前脚本;
步骤13:获取步骤12中的环境变量,获取环境变量中key为msg的值,将msg的信息输出到用户页面,整个过程完成。
2.如权利要求1所述的基于脚本引擎的表单自定义、逻辑定义及处理方法,其特征在于,所述表单描述信息包括:
表单的字段定义:字段类型、字段长度、字段名称、默认值、索引方式及字段的存储方式;
表单管理界面的定义:表单管理界面模板、表单采用的控件、表单控件的描述信息、表单控件对应表单存储字段、表单控件的样式、表单控件的高度及宽度、默认值及数据合法性校验的正则表达式、表单控件的数据源及表单控件的扩展配置;
表单数据查询界面描述,数据包括:用哪些字段检索、查询字段条件数据采用的输入控件、查询结果返回哪些字段的数据、及表单查询列表模板以及列表页的样式;
表单脚本逻辑介入点脚本配置,逻辑脚本介入点包括:数据保存前、数据保存后及数据发布脚本。
3.如权利要求1或2所述的基于脚本引擎的表单自定义、逻辑定义及处理方法,其特征在于,所述数据代理方式为:
将表单数据传递给代理接口,同时传递表单ID;
代理接口根据ID加载对应的表单配置,根据存储方式将数据存储到对应的位置;
根据表单配置分别从不同的存储介质查询表单数据,然后将数据合并,并返回表单数据。
4.如权利要求3所述的基于脚本引擎的表单自定义、逻辑定义及处理方法,其特征在于,前述数据代理方式中,具体为:
表单数据以类实现的哈希表的方式传递给代理接口;
代理接口解析表单配置,并扫描哈希表的特定键key,根据特定键key查找表单配置中表单的存储方式;
并以哈希表的方式返回表单数据。
5.如权利要求3所述的基于脚本引擎的表单自定义、逻辑定义及处理方法,其特征在于,所述步骤四的具体方法为:
步骤a:通过系统提供的表单视图页面,同时将所要请求的表单ID以及要请求的表单数据ID以参数的方式提交到服务器,服务器端接受表单ID参数,并根据表单ID加载表单配置数据;
步骤b:系统根据步骤1加载的数据,获取表单视图的模板;
步骤c:系统根据提交的步骤1加载的表单数据ID,判断是否为新增数据,如果表单数据ID缺失或等于零,则为新增数据,反之则为修改数据;
步骤d:如果为修改数据,则根据步骤1中加载的表单数据,获取表单的默认值配置,并将默认值传递给表单视图模板;
步骤e:如果为新增数据,则根据数据ID,加载表单数据并将表单数据传递给表单视图模板;
步骤f:通过模板引擎解析表单模板,得到表单的HTML内容;
步骤g:将步骤6中所产生的HTML内容输入到web页面上完成表单视图的渲染工作。
6.如权利要求5所述的基于脚本引擎的表单自定义、逻辑定义及处理方法,其特征在于,所述步骤b采用的是FreeMarker模板。
CN201210103980.9A 2012-04-11 2012-04-11 基于脚本引擎的表单自定义、逻辑定义及处理方法 Active CN103365646B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210103980.9A CN103365646B (zh) 2012-04-11 2012-04-11 基于脚本引擎的表单自定义、逻辑定义及处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210103980.9A CN103365646B (zh) 2012-04-11 2012-04-11 基于脚本引擎的表单自定义、逻辑定义及处理方法

Publications (2)

Publication Number Publication Date
CN103365646A CN103365646A (zh) 2013-10-23
CN103365646B true CN103365646B (zh) 2017-02-08

Family

ID=49367087

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210103980.9A Active CN103365646B (zh) 2012-04-11 2012-04-11 基于脚本引擎的表单自定义、逻辑定义及处理方法

Country Status (1)

Country Link
CN (1) CN103365646B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104615602B (zh) * 2013-11-05 2019-09-20 深圳力维智联技术有限公司 查询界面自动生成实现装置及其方法
CN104915346B (zh) * 2014-03-11 2020-06-30 上海卓岚信息科技有限公司 用于网页模块的Web服务器及其输出控制或输入更新方法
CN104063232B (zh) * 2014-07-21 2016-05-25 佛山市恒南微科技有限公司 一种基于数据库参数利用的系统开发的方法
CN104199675A (zh) * 2014-09-26 2014-12-10 佛山市恒南微科技有限公司 一种基于数据库参数利用的系统快速开发的系统
CN105786478B (zh) * 2014-12-23 2019-07-02 菜鸟智能物流控股有限公司 用于数据处理的方法及设备
CN106095821A (zh) * 2016-06-01 2016-11-09 浪潮软件集团有限公司 一种通用表单配置管理方法
CN108446262A (zh) * 2018-02-11 2018-08-24 杭州连帆科技有限公司 一种表单生成、分析方法及装置
CN108897838A (zh) * 2018-06-26 2018-11-27 郑州云海信息技术有限公司 一种基于cmdb的web应用系统的配置方法和装置
CN109063175A (zh) * 2018-08-22 2018-12-21 山东浪潮通软信息科技有限公司 一种数据录入方法及装置
CN109491646B (zh) * 2018-10-18 2022-08-05 北京字节跳动网络技术有限公司 一种消息录入方法、装置、电子设备及可读介质
CN111241797A (zh) * 2018-11-28 2020-06-05 常熟昊虞电子信息科技有限公司 基于SpreadJS技术的数据信息实时处理的系统
CN109683866A (zh) * 2018-12-27 2019-04-26 南京天溯自动化控制系统有限公司 一种基于组态技术的产品定制开发方法
CN110555025B (zh) * 2019-08-29 2022-05-24 中邮科通信技术股份有限公司 一种web表单自定义字段的实现方法与系统
CN111309313A (zh) * 2019-10-17 2020-06-19 天津大学 一种快速生成html以及存储表单数据的方法
CN110780859B (zh) * 2019-10-29 2023-01-31 成都阳帆网络科技有限公司 一种基于自定义表单的服务架构的实现方法
CN111273962B (zh) * 2020-02-14 2022-02-18 腾讯科技(深圳)有限公司 配置管理方法、装置、计算机可读存储介质和计算机设备
CN111858675A (zh) * 2020-07-24 2020-10-30 北京玉符科技服务有限公司 自定义属性编辑器
CN112351104B (zh) * 2020-11-11 2021-09-10 光大兴陇信托有限责任公司 一种基于脚本引擎的代理服务器功能扩展方法和系统
CN112347160A (zh) * 2020-11-13 2021-02-09 广州太信信息科技有限公司 一种基于呼叫中心系统的工单管理方法、系统及存储介质
CN114118031B (zh) * 2021-11-17 2023-08-29 之江实验室 一种端到端的抹平表单差异性的方法
CN115168673B (zh) * 2022-09-08 2022-12-09 北京嘉和美康信息技术有限公司 一种数据的图形化处理方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101082970A (zh) * 2007-07-05 2007-12-05 山东浪潮齐鲁软件产业股份有限公司 政务审批工作流引擎系统的实现方法
CA2777443A1 (en) * 2009-10-14 2011-04-21 Vermeg Services Sarl Automated enterprise software development

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101082970A (zh) * 2007-07-05 2007-12-05 山东浪潮齐鲁软件产业股份有限公司 政务审批工作流引擎系统的实现方法
CA2777443A1 (en) * 2009-10-14 2011-04-21 Vermeg Services Sarl Automated enterprise software development

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Struts框架的Web表单快速开发平台;周晖等;《计算机应用与研究》;20040828;第191-194页 *

Also Published As

Publication number Publication date
CN103365646A (zh) 2013-10-23

Similar Documents

Publication Publication Date Title
CN103365646B (zh) 基于脚本引擎的表单自定义、逻辑定义及处理方法
CN103377038B (zh) 自定义表单的描述及表单解析方法
US10546035B2 (en) System and method for data-driven web page navigation control
US7757282B2 (en) System and method for distinguishing safe and potentially unsafe data during runtime processing
US10083016B1 (en) Procedurally specifying calculated database fields, and populating them
US20150149980A1 (en) Service model-oriented software operation platform and operation method thereof
US20090254881A1 (en) Code generation techniques for administrative tasks
US20040250257A1 (en) System and method for generator state object validation
WO2009043033A4 (en) Network operating system
CN103164249A (zh) 用于脚本语言编译器的扩展机制
CN104517181B (zh) 一种核电站企业内容管理系统及方法
US7448028B2 (en) System and method for selective local object retrieval
US20130151571A1 (en) Interface defined virtual data fields
CN107766252A (zh) 测试脚本自动化执行方法、装置、设备以及存储介质
CN106886568A (zh) 一种分表方法、装置及电子设备
Kasampalis et al. IELE: A rigorously designed language and tool ecosystem for the blockchain
US10558473B2 (en) Extensibility support for an application object framework
US20140114916A1 (en) Code generation and implementation method, system, and storage medium for delivering bidirectional data aggregation and updates
CN114995879B (zh) 一种基于低代码化平台的信息处理方法及系统
CN115408009A (zh) 一种代码文件生成方法、装置、设备和存储介质
CN116627448A (zh) 一种创建微服务的方法及相关设备
EP1634166B1 (en) System and method for incremental object generation
US20040249823A1 (en) System and method for object navigation grammar completion
US20040249940A1 (en) System and method for asynchronous resource management
CN112905153B (zh) 一种面向软件定义卫星的软件并行构建方法以及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant