一种表单页面生成方法和装置与流程

文档序号:18642942发布日期:2019-09-11 23:46阅读:209来源:国知局
一种表单页面生成方法和装置与流程

本申请涉及计算机技术领域,具体涉及一种表单页面生成方法和装置。



背景技术:

表单是用来接收用户在前端输入的信息,将这些信息发送到后台的一种交互形式。传统的表单是通过开发前端页面时编写html(hypertextmarkuplanguage,超文本标记语言)代码完成的配置,这导致每个页面的表单都需要进行重复的代码编写,而且在修改表单时,需要对设置了相同表单的各页面一一进行修改,工作量大,灵活性较差。



技术实现要素:

有鉴于此,本申请实施例提供了一种表单页面生成方法和装置,配置表单页面模板,将相同的表单对象配置在多个模板中实现表单复用,方便对页面中表单进行灵活的修改和扩展。

根据本申请的第一个方面,提供了一种表单页面生成方法,包括:

新建表单对象的元数据,由所述元数据配置所述表单对象,根据所述表单对象配置所述表单页面模板,将所述表单页面模板保存至数据库;所述表单页面模板中包括表单对象以及所述表单对象的参数关联的后端对象信息;

依据业务数据获取所述表单页面模板,基于所述表单页面模板以及所述表单对象的参数,生成表单页面;其中,所述参数的值是依据所述表单对象的参数关联的后端对象信息,调用后端数据接口从所述数据库中获取的。

根据本申请的另一个方面,提供了一种表单页面生成装置,包括:

模板配置模块,用于新建表单对象的元数据,由所述元数据配置所述表单对象,根据所述表单对象配置所述表单页面模板,将所述表单页面模板保存至数据库;所述表单页面模板中包括表单对象以及所述表单对象的参数关联的后端对象信息;

页面生成模块,用于依据业务数据获取所述表单页面模板,基于所述表单页面模板以及所述表单对象的参数,生成表单页面;其中,所述参数的值是依据所述表单对象的参数关联的后端对象信息,调用后端数据接口从所述数据库中获取的。

根据本申请的第三个方面,提供了一种电子设备,所述电子设备包括:处理器,以及存储有可在处理器上运行的计算机程序的存储器;其中,所述处理器,用于在执行所述存储器中的计算机程序时执行本申请第一个方面所述方法的步骤。

根据本申请的第四个方面,提供了一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请第一个方面所述方法的步骤。

有益效果:应用本申请实施例的表单页面生成方法和装置,新建表单对象的元数据,基于元数据配置表单并将表单关联到表单页面模板,依据业务数据获取表单页面模板,由表单页面模板以及表单对象的参数生成表单页面从而可以将相同的表单配置在多个表单页面模板中实现复用,减轻了页面开发的工作量,也方便对页面中的表单进行灵活的修改和扩展。

附图说明

图1是本申请一个实施例的表单页面生成方法的流程图;

图2是本申请一个实施例的表单页面的示意图;

图3是图2所示表单页面中表单的元数据的示意图;

图4是图2所示表单页面中表单的展现项的配置示意图;

图5是图2所示表单页面中表单对象与后端对象信息绑定的示意图;

图6是本申请一个实施例的表单页面生成装置的框图;

图7是本申请一个实施例的电子设备的结构示意图;

图8是本申请一个实施例的非瞬时性计算机可读存储介质的结构示意图。

具体实施方式

为使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。

本申请的技术构思是:针对现有页面中的表单通过编写html代码的方式配置导致的修改和扩展不够灵活的问题,提出一种表单页面的生成方案,应用本申请实施例,首先构建元数据,构建好的元数据存入数据库。然后定义元数据的展现样式。再次,进行页面模板配置,将设置好的表单对象关联成组,形成页面模板,页面模板用于前端页面展示各表单对象,并通过json表达式将表单对象与后台对象建立绑定关系。最后根据业务数据获取页面模板信息,将后端对象的信息通过页面模板中的json表达式的值回填至表单对象的参数里实现表单配置,由于将表单关联到表单页面模板,相同的表单可在多个表单页面模板中实现复用,方便了对表单进行灵活的修改和扩展,大大减轻了开发工作量。

图1是本申请一个实施例的表单页面生成方法的流程图,参见图1,本实施例的表单页面生成方法包括下列步骤:

步骤s101,新建表单对象的元数据,由所述元数据配置所述表单对象,根据所述表单对象配置所述表单页面模板,将所述表单页面模板保存至数据库;所述表单页面模板中包括表单对象以及所述表单对象的参数关联的后端对象信息;

步骤s102,依据业务数据获取所述表单页面模板,基于所述表单页面模板以及所述表单对象的参数,生成表单页面;其中,所述参数的值是依据所述表单对象关联的后端对象信息,调用后端数据接口从所述数据库中获取的。

由图1所示可知,本实施例的表单页面生成方法,分为两个过程,一个是表单页面模板的制作过程,另一个是利用表单页面模板生成表单页面的过程。其中,表单页面模板的制作过程包括新建表单对象的元数据,由元数据配置表单对象,根据表单对象配置表单页面模板而后保存至数据库。利用表单页面模板生成表单页面的过程包括:依据业务数据获取表单页面模板,基于表单页面模板以及表单对象参数生成表单页面。这样表单对象与模板关联,在表单页面模板中按照需要配置表单对象,方便后续使用表单页面模板生成表单页面,避免了重复编写代码导致的工作量大的技术问题,而且,通过表单页面模板中配置表单对象实现了相同表单的复用,方便对表单进行修改和扩展。

下面结合图2至图5,以一个具体的应用实例对本发明实施例的表单页面生成方法的实现步骤进行说明。

参见图2,本实施例的表单页面中包括三个表单对象,分别是:“交易类型”、“美团券有效期”、“项目结束时间”。为描述简要这里以其中一个表单对象,比如“美团券有效期”进行展开。

生成图2所示表单页面主要包括三个步骤:

(一)新建表单对象的元数据,由元数据配置表单对象;

本实施例的元数据包括数据项,数据项中至少包括编码信息和数据项名信息,编码信息用于唯一标识所述数据项,数据项名信息用于指示数据项在表单页面上展示时的文本内容;也就是说,先构建元数据,设置元数据的数据项而后把构建好的元数据信息存入数据库。

图3中示意了“美团券有效期”这个表单对象的元数据配置,如图3所示该元数据(元数据名为“美团券有效期”)由三个数据项组成,分别是“自上线之日起{monthcount}个月”、“自上线之日起{daycount}天”、“自上线之日起至{expiredate}23:59:59”,每个数据项设置编码信息,数据项名,样式、规则信息。也就是说,元数据的数据项中除了编码信息,数据项名信息之外,还包括样式信息和规则信息,样式用于指示数据项在表单页面上的展现样式,规则信息用于指示数据项的校验规则。

如图3中所示的第一个数据项,编码为“nm”;数据项名为“自上线之日起{monthcount}个月”;样式、规则为json(javascriptobjectnotation)表达式,json是一种轻量级的数据交换格式。易于阅读和编写,json表达式指示了美团券有效期”这个表单对象的的参数monthcount在前端页面展示时会替换成文本输入框(即“text”样式,参见图2中美团券有效期这个表单对象中的第一个文本输入框),并且对用户输入内容进行校验,校验规则是输入内容是数字类型(integer)且不超过3位(maxlength:3)的月份数字。

在配置完成元数据之后,本实施例中由元数据配置表单对象,具体包括至少配置表单对象的下列信息:名称,属性值的数据类型,关联的所述元数据以及所述元数据的展现样式。

由于这里配置的表单对象的信息主要是用于页面展示,所以这些信息也可被称作表单对象的展现项。展现项配置包括定义表单对象的名称,属性值的数据类型,关联的元数据以及元数据的展现形式(比如文本框、单选框),设置好的表单对象信息被存入数据库。

接上例,前述表单对象“美团券有效期”的展现项配置如图4所示。图4中示意了定义表单对象在前端页面展示时的名字(即,美团券有效期),设置该表单对象的属性值的数据类型,一个实施例中“美团券有效期”的属性值的数据类型为字符串。需要说明的是,“美团券有效期”的属性指示用户选择哪个元数据的数据项编码,具体属性的值是用户在单选框中选择的数据项的编码,即,用户在三个数据项中选了哪个数据项,“美团券有效期”的属性值就是那个数据项的编码,结合图3,比如用户选了第二个数据项“自上线之日起{monthcount}天,那么“美团券有效期”的属性值就是nm,即,这里将“美团券有效期”的属性值设定为字符串类型,并且,用户填入第二个数据项中文本框的值即参数{monthcount}需要传入后端,所以“美团券有效期”的参数和后端对象信息建立关联关系。

在本发明其他实施例中应当需求设置表单对象的属性值类型,这里的类型可以是字符串型,数值型,日期型等。

参见图4中示意的元数据“美团券有效期”,即,这里还将配置好的元数据关联到该表单对象“美团券有效期”中,设置元数据的展现形式为单选框,这样配置好的元数据的每个数据项就是单选框的一个选择元素。

另外,还可以对单选框的排列方式进行设置,如图4中将选项排列方式设置为横排,那么元数据的展现样式(单选框的排列方式)即为横排,横排展现结果参见图2。

需要说明的是,图4中还示意了一些展现项的设置,比如,编码(选填)、是否隐藏名称,默认值等,这些展现项对于表单对象的展现影响较小,实际应用中可以根据需要设置或不设置,对此不做限制。

(二)根据表单对象配置表单页面模板

配置完成表单对象之后,根据表单对象配置表单页面模板。本实施例中根据业务类型配置所述表单页面模板中包含的表单对象并配置各表单对象的参数关联的后端对象信息。

一个实施例中,这里的业务类型分为业务域,类型,视图三类。业务域:指不同的业务范围,比如商品管理业务,商家管理业务,员工管理业务等。

类型:对于同一个业务下划分不同的子业务,如商品管理业务可以分为团购商品管理,酒店商口管理,门票商品管理。

视图:对于同一个业务下同一下子业务,面向的用户不同,页面的表现形式也不同。如商品管理的团购商品管理,可分为面向公司内部员工的和面向商家的两类视图。

配置表单页面具体是将前述步骤中设置好的表单对象关联成组,并通过json表达式将表单对象的参数与后台对象建立邦定关系之后将模板信息存入数据库备用。不同的业务可以根据自己的要求配置表单页面模板,每个表单页面模板可由多个表单组成。

确定每个表单页面模板中包括的表单对象之后,本实施例中生成json表达式,json表达式中记录各表单对象的参数关联的后台对象信息。

这里之所以通过json表达式建立表单对象的参数关联的后台对象信息是因为考虑到前端页面上表单对象的参数未与后端对象建立关联关系时,前端页面上表单对象的参数调整都需要修改后端的接口,甚至不同的前端页面调用不同的后端接口,开发工作量大。对此,本实施例中将前端页面上表单对象的参数与后端对象建立关联关系,所有表单页面模板只需要提供一个后端接口,后续新增页面时只需要设置指示页面中表单对象的参数绑定后端对象的json表达式即可,无需改动后端接口,实现了接口的复用,大大减轻了开发工作量。

如图5所示,图5中示意了表单页面模板“餐饮代金券购买须知”中包括的两个表单对象,即,“交易类型”和“美团券有效期”。在“美团券有效期”这个表单对象的绑定关系一列中记录了一个json表达式(图5中示意的方框),json表达式指示了前端页面中“美团券有效期”的多个参数分别与后端对象信息的绑定关系,比如“美团券有效期”这个表单对象的第二个单选框中的参数monthcount,如果用户选择了与参数“monthcount”对应的单选框,则将用户录入文本框中的值(比如2)绑定到后端对象“rule.extattrs.5”上,即通过json表达式将monthcount参数与后端对象ruleextattrs.5进行绑定。

(三)依据业务数据获取所述表单页面模板,生成表单页面

一次表单页面生成过程中,依据业务数据获取表单页面模板,基于表单页面模板以及表单对象的指定属性的属性值,生成表单页面。这里以业务域,类型,视图三者共同作为参数(如商品管理业务+团购商品管理+面向商家的两类视图)调用接口,获取步骤(二)中配置好的表单页面模板信息,这里接口是用于获取表单页面模板数据的接口,该接口返回的是模板中配置的json表达式,前端可以根据该接口返回的json表达式,展示页面的表单对象,并调用后端数据接口获取表单对象的参数的值,根据指定参数绑定的json表达式将后端对象信息回填至表单对象的参数里,从而生成表单页面。如此,将表单关联到表单页面模板,相同的表单对象可在多个表单页面模板中实现复用,方便对表单页面中的表单进行灵活的修改和扩展。

由上可知,本实施例将表单对象分为元数据与展现项,并将表单对象关联到模板,将相同的表单对象在多个模板中实现复用,复用的表单对象,从而当在配置页面对表单修改完毕后,刷新模板页面即可生效,实现了对表单的灵活修改和扩展。另外,通过将前端表单对象的参数与后端对象建立绑定关系,所有表单页面模板只需要提供一个后端接口,后续新增页面时只需要设置参数与后端对象绑定的json表达式即可,不用改动后端接口,大大减轻了开发工作量。

与前述表单页面生成方法同属于一个技术构思,本申请实施例还提供了一种表单页面生成装置,参见图6,本实施例的表单页面生成装置600包括:

模板配置模块601,用于新建表单对象的元数据,由所述元数据配置所述表单对象,根据所述表单对象配置所述表单页面模板,将所述表单页面模板保存至数据库;所述表单页面模板中包括表单对象以及所述表单对象的参数关联的后端对象信息;

页面生成模块602,用于依据业务数据获取所述表单页面模板,基于所述表单页面模板以及所述表单对象的参数,生成表单页面;其中,所述参数的值是依据所述表单对象关联的后端对象信息,调用后端数据接口从所述数据库中获取的。

在本发明的一个实施例中,元数据包括数据项,所述数据项中至少包括编码信息和数据项名信息,所述编码信息用于唯一标识所述数据项,所述数据项名信息用于指示所述数据项在所述表单页面上展示时的文本内容;模板配置模块601,用于至少配置所述表单对象的下列信息:名称,属性值的数据类型,关联的所述元数据以及所述元数据的展现样式。

在本发明的一个实施例中,所述数据项中还包括样式信息和规则信息,所述样式用于指示所述数据项在所述表单页面上的展现样式,所述规则信息用于指示所述数据项的校验规则。

在本发明的一个实施例中,模板配置模块601具体用于根据业务类型配置所述表单页面模板中包含的所述表单对象并配置各所述表单对象的参数关联的后端对象信息。

在本发明的一个实施例中,模板配置模块601具体用于生成json表达式,所述json表达式中记录各所述表单对象的参数关联的后台对象信息。

在本发明的一个实施例中,页面生成模块602,用于依据下列业务数据中的一种或多种的组合获取所述表单页面模板:业务域,类型,视图。

关于图6所示装置中的各模块所执行的各功能的举例解释说明,与前述方法实施例中的举例解释说明一致,这里不再一一赘述。

需要说明的是:

在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本申请实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请实施例的内容,并且上面对特定语言所做的描述是为了披露本申请实施例的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个申请方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,申请方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请实施例的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本申请实施例的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本申请实施例的页面性能测试装置中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

例如,图7是本申请一个实施例的电子设备的结构示意图。该电子设备700包括:处理器701,以及存储有可在所述处理器701上运行的计算机程序的存储器702。处理器701,用于在执行所述存储器702中的计算机程序时执行本申请实施例中方法的各步骤。存储器702可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。存储器702具有存储用于执行上述方法中的任何方法步骤的计算机程序704的存储空间703。计算机程序704可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(cd)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为例如图8所示的非瞬时性计算机可读存储介质。

图8是本申请一个实施例的非瞬时性计算机可读存储介质的结构示意图。该计算机可读存储介质800存储有用于执行根据本申请实施例的方法步骤的计算机程序704,可以被电子设备700的处理器701读取,当计算机程序704由电子设备700运行时,导致该电子设备700执行上面所描述的方法中的各个步骤,具体来说,该计算机可读存储介质存储的计算程序704可以执行上述任一实施例中示出的方法。计算机程序704可以以适当形式进行压缩。

应该注意的是上述实施例对本申请实施例进行说明而不是对本申请实施例进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词、第二、以及第三等的使用不表示任何顺序,可将这些单词解释为名称。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1