CN108595681B - 用于表单展示的方法、装置及系统 - Google Patents
用于表单展示的方法、装置及系统 Download PDFInfo
- Publication number
- CN108595681B CN108595681B CN201810411626.XA CN201810411626A CN108595681B CN 108595681 B CN108595681 B CN 108595681B CN 201810411626 A CN201810411626 A CN 201810411626A CN 108595681 B CN108595681 B CN 108595681B
- Authority
- CN
- China
- Prior art keywords
- attribute
- information
- rendering
- display
- generate
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开一种用于表单展示的方法、装置及系统。涉及计算机信息处理领域,该方法包括:接收来自用户的表单展示请求,所述表单展示请求中包括表单信息;根据所述表单信息获取表单属性配置信息;根据所述表单属性配置信息对待展示表单的源码进行属性渲染,生成表单展示信息;以及通过所述表单展示信息响应所述用户的表单展示请求。本申请公开的用于表单展示的方法、装置及系统,能够在用户使用的客户端处屏蔽布局、代码的技术细节,提高页面开发效率。
Description
技术领域
本申请涉及计算机信息处理领域,具体而言,涉及一种用于表单展示的方法、装置及系统。
背景技术
表单在网页中主要负责数据采集功能。一个表单有三个基本组成部分:表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法。表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。
目前web开发过程中表单元素录入(如用户注册、产品录入、商品录入等)的业务。在对上述表单元素进行页面展示时,首先要对表单进行渲染,针对页面渲染方案,现有技术中有如下两种处理方式:
1)用jquery validate绑定技术对web元素做规则绑定。规则数据写在客户端页面。这种方式的缺点是:规则单独写在客户端,而在服务端也存有一份配置,规则修改要同时修改客户端和服务端的数据,维护困难。
2)客户端按照一定的页面布局和元素顺序写好详细的元素信息,并从服务端返回json格式的元素校验信息做校验绑定。这种方案解决了客户端和服务端校验统一的问题,但写表单录入元素时,用原生属性组件来渲染,容易错写、漏写一些基本的属性,代码冗余量较多。
因此,需要一种新的用于表单展示的方法、装置及系统。
在所述背景技术部分公开的上述信息仅用于加强对本申请的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本申请提供一种用于表单展示的方法、装置及系统,能够在用户使用的客户端处屏蔽布局、代码的技术细节,提高页面开发效率。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请的一方面,提出一种用于表单展示的方法,该方法包括:接收来自用户的表单展示请求,所述表单展示请求中包括表单信息;根据所述表单信息获取表单属性配置信息;根据所述表单属性配置信息对待展示表单的源码进行属性渲染,生成表单展示信息;以及通过所述表单展示信息响应所述用户的表单展示请求。
在本公开的一种示例性实施例中,所述表单信息,包括:业务表单类型,表单属性列表。
在本公开的一种示例性实施例中,所述根据所述表单信息获取表单属性配置信息,包括:根据所述表单属性列表,获取表单属性配置信息。
在本公开的一种示例性实施例中,所述根据所述表单属性配置信息对待展示表单的源码进行属性渲染,生成表单展示信息,包括:根据所述表单信息中的关键字对表单属性配置信息中的数据进行过滤,生成表单属性集合;将所述表单属性集合保存至本地缓存中;根据所述表单属性集合对待展示表单的源码进行属性渲染,生成表单展示信息。
在本公开的一种示例性实施例中,所述根据所述表单信息中的关键字对表单属性配置信息中的数据进行过滤,生成表单属性集合,包括:根据所述表单信息中的关键字对表单属性配置信息中的数据进行过滤,生成过滤数据;以及将所述过滤数据以键值对的形式储存到缓存中,生成表单属性集合。
在本公开的一种示例性实施例中,所述根据所述表单属性集合对待展示表单的源码进行属性渲染,生成表单展示信息,包括:通过所述本地缓存调用所述表单属性集合对待展示表单的源码进行属性渲染,生成表单展示信息。
在本公开的一种示例性实施例中,所述根据所述表单属性集合对待展示表单的源码进行属性渲染,生成表单展示信息,包括:对待展示表单的源码逐条进行属性渲染,生成多条属性展示实体,展示实体包括展示样式信息;以及通过多条属性展示实体生成所述表单展示信息。
在本公开的一种示例性实施例中,所述根据所述表单属性集合对待展示表单的源码进行属性渲染,生成表单展示信息,包括:根据所述表单属性集合对待展示表单的属性类型进行渲染;根据所述表单属性集合对待展示表单的预设样式进行渲染;以及根据所述表单属性集合对待展示表单的属性校验规则。
在本公开的一种示例性实施例中,所述对待展示表单的源码逐条进行属性渲染,包括:将源码对应的属性信息根据所述预设样式进行渲染;根据关键字确定属性信息对应的属性校验规则;以及将所述校验规则绑定到属性输入框。
在本公开的一种示例性实施例中,所述根据所述表单属性配置信息对待展示表单的源码进行属性渲染,生成表单展示信息,还包括:将缓存中的所述表单属性集合设置为白名单。
在本公开的一种示例性实施例中,所述表单展示信息,包括:Html源码;所述通过所述表单展示信息响应所述用户的表单展示请求包括:通过Html源码响应所述用户的表单展示请求。
根据本申请的一方面,提出一种用于表单展示的装置,该装置包括:接收请求模块,用于接收来自用户的表单展示请求,所述表单展示请求中包括表单信息;配置信息模块,用于根据所述表单信息获取表单属性配置信息;渲染模块,用于根据所述表单属性配置信息对待展示表单的源码进行属性渲染,生成表单展示信息;以及展示模块,用于通过所述表单展示信息响应所述用户的表单展示请求。
在本公开的一种示例性实施例中,所述渲染模块,包括:属性渲染单元,用于根据所述表单属性配置信息对待展示表单的属性进行渲染;样式渲染单元,用于根据所述表单属性配置信息对待展示表单的样式进行渲染;以及规则绑定单元,用于根据所述表单属性配置信息绑定待展示表单的属性规则。
根据本申请的一方面,提出一种用于表单展示的系统,该系统包括:服务器,用于根据所述表单信息提供表单属性配置信息;以及至少一个客户端,用于接收来自用户的表单展示请求,所述表单展示请求中包括表单信息;通过所述服务器获取所述表单属性配置信息;根据所述表单属性配置信息对待展示表单的源码进行属性渲染,生成表单展示信息;以及通过所述表单展示信息响应所述用户的表单展示请求。
根据本申请的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本申请的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本申请的用于表单展示的方法、装置及系统,能够在用户使用的客户端处屏蔽布局、代码的技术细节,提高页面开发效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
通过参照附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种用于表单展示的系统的系统框图。
图2是根据一示例性实施例示出的一种用于表单展示的方法的流程图。
图3是根据一示例性实施例示出的一种用于表单展示的装置的框图。
图4是根据另一示例性实施例示出的一种用于表单展示的方法的流程图。
图5是根据另一示例性实施例示出的一种用于表单展示的装置的框图。
图6是根据另一示例性实施例示出的一种用于表单展示的方法的流程图。
图7是根据另一示例性实施例示出的一种用于表单展示的方法中的示意图。
图8是根据另一示例性实施例示出的一种用于表单展示的方法的流程图。
图9是根据一示例性实施例示出的一种电子设备的框图。
图10是根据一示例性实施例示出一种计算机可读存储介质示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的,因此不能用于限制本申请的保护范围。
图1是根据一示例性实施例示出的一种用于表单展示的系统的系统框图。
如图1所示,用于表单展示的系统100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的表单网页提供支持的后台管理的数据服务器(仅为示例)。数据服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如根据查询结果生成的返回信息等)反馈给终端设备。
需要说明的是,本申请实施例所提供的表单展示的方法中的表单属性配置信息一般由服务器105查询返回,相应地,表单生成展示装置一般设置于客户端101中。
在一些实施例中,终端设备101、102、103称为客户端,用于接收来自用户的表单展示请求,所述表单展示请求中包括表单信息;通过所述服务器获取所述表单属性配置信息;根据所述表单属性配置信息对待展示表单的源码进行属性渲染,生成表单展示信息;以及通过所述表单展示信息响应所述用户的表单展示请求。
在一些实施例中,服务器105可用于根据所述表单信息提供表单属性配置信息。
图2是根据一示例性实施例示出的一种用于表单展示的方法的流程图。用于表单展示的方法20可包括步骤S222至S228。
如图2所示,在S222中,接收来自用户的表单展示请求,所述表单展示请求中包括:业务表单类型,表单属性列表,所述表单属性列表中包含关键字,关键字可例如为表1中的属性key,属性key是用于区分字段属性的惟一key。
可例如,客户端接收表单展示请求,所述表单展示请求中包括表单信息,所述表单信息,包括:业务表单类型,表单属性列表。业务表单类型可例如为如用户注册、产品录入、商品录入等类型,不同的业务表单类型对应着不同的后台处理方式。业务表单类型,定义该表单具体是什么业务(如注册、产品录入、商品录入等),并将该业务允许的表单属性配置进来。业务表单和表单属性是一对多的关系。表单属性列表中包含有该类型的表单中所需要展示的数据信息。表单属性指的是表单输入字段元素的集合。配置了该字段应该具备的一些基本上属性,可例如包括:关键字(属性key),属性名称,属性类型,属性值,校验规则,提示信息等,本申请不以此为限。
如图2所示,在S224中,根据所述表单信息获取表单属性配置信息。包括:根据所述表单属性列表,获取表单属性配置信息。如上文所述,可例如通过服务器获取表单属性配置信息。
在一些实施例中,可例如通过客户端接收用户的表单展示请求,客户端将所述请求发送给服务器,然后客户端采用定时查询的方式,向服务器发起查询命令,在服务器生成返回的表单属性配置信息后,客户端由服务器上取回数据。本申请不以此为限。
在一些实施例中,可例如通过客户端接收用户的表单展示请求,客户端将所述请求发送给服务器,服务器生成表单属性配置信息后,由服务器主动发起连接,服务器将表单属性配置信息推送给客户端。本申请不以此为限。
在服务器中储存了所有所需的表单元素属性。分为表单属性库和业务表单。其中,表单属性库中储存的表单属性信息可如表1所示。
表1表单属性库中储存的信息
属性 | 备注 |
属性key | 系统用于区分字段属性的惟一key |
属性名称 | 字段显示的名称 |
属性类型 | 文本、文本域、下拉框、单选框、文件等 |
属性值 | 当为下拉框、复选框时,数据字典值的来源 |
校验规则 | 正则表达式的规则 |
提示信息 | 相关提示信息配置 |
如图2所示,在S226中,根据所述表单属性配置信息对待展示表单的源码进行属性渲染,生成表单展示信息。包括:根据所述表单信息中的关键字对表单属性配置信息中的数据进行过滤,生成表单属性集合;将所述表单属性集合保存至本地缓存中;根据所述表单属性集合对待展示表单的源码进行属性渲染,生成表单展示信息。
在一个实施例中,可例如,根据所述表单信息中的关键字对表单属性配置信息中的数据进行过滤,生成过滤数据;以及将所述过滤数据以键值对的形式储存到缓存中,生成表单属性集合。
在一些实施例中,客户端将所述表单属性配置信息(包含关键字)以键值对的形式进行储存到缓存中,生成表单属性集合;以及通过缓存,调用所述表单属性集合对待展示表单的源码进行属性渲染,生成表单展示信息。
在一个实施例中,对待展示表单的源码逐条进行属性渲染,包括:将源码对应的属性信息根据所述预设样式进行渲染;根据关键字确定属性信息对应的属性校验规则;以及将所述校验规则绑定到属性输入框。
在一个实施例中,对待展示表单的源码逐条进行属性渲染,还包括:根据所述表单属性集合对待展示表单的属性类型进行渲染;根据所述表单属性集合对待展示表单的预设样式进行渲染;以及根据所述表单属性集合对待展示表单的属性校验规则。
在一个实施例中,在生成所述表单展示信息之后,清除缓存中的所述表单属性配置信息。
在一个实施例中,还包括:将缓存中的所述表单属性集合设置为白名单。
如图2所示,在S228中,通过所述表单展示信息响应所述用户的表单展示请求。其中,表单展示请求包括:Html源码;所述通过所述表单展示信息响应所述用户的表单展示请求包括:通过Html源码响应所述用户的表单展示请求。
根据本申请的用于表单展示的方法,通过由服务器提供表单属性配置信息,客户端接收表单属性配置信息然后进行渲染的方式,能够在用户使用的客户端处屏蔽布局、代码的技术细节,提高页面开发效率。也有利于客户端处的网页布局进行实时更新。
根据本申请的用于表单展示的方法,通过集中配置,解决字段的文案显示、样式、校验规则的统一化,屏蔽代码技术细节,方便web前端页面开发。校验规则只需要配置一份,客户端校验代码和服务端校验代码就可同时生效。
应清楚地理解,本申请描述了如何形成和使用特定示例,但本申请的原理不限于这些示例的任何细节。相反,基于本申请公开的内容的教导,这些原理能够应用于许多其它实施例。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图3是根据一示例性实施例示出的一种用于表单展示的装置的框图。如图3所示,用于表单展示的装置30包括:接收请求模块302,配置信息模块304,渲染模块306,展示模块308。
接收请求模块302用于接收来自用户的表单展示请求,所述表单展示请求中包括:业务表单类型,表单属性列表,所述表单属性列表中包含关键字,关键字可例如为表1中的属性key,属性key是用于区分字段属性的惟一key。
可例如,接收请求模块302接收表单展示请求,所述表单信息,包括:业务表单类型,表单属性列表。业务表单类型可例如为如用户注册、产品录入、商品录入等类型,不同的业务表单类型对应着不同的后台处理方式。业务表单类型,定义该表单具体是什么业务(如注册、产品录入、商品录入等),并将该业务允许的表单属性配置进来。业务表单和表单属性是一对多的关系。表单属性列表中包含有该类型的表单中所需要展示的数据信息。表单属性指的是表单输入字段元素的集合。配置了该字段应该具备的一些基本上属性,可例如包括:关键字(属性key),属性名称,属性类型,属性值,校验规则,提示信息等,本申请不以此为限。
配置信息模块304用于根据所述表单信息获取表单属性配置信息。包括:根据所述表单属性列表,获取表单属性配置信息。如上文所述,可例如通过服务器获取表单属性配置信息。
在一些实施例中,可例如通过接收请求模块302接收用户的表单展示请求,接收请求模块302将所述请求发送给配置信息模块304,然后接收请求模块302采用定时查询的方式,向配置信息模块304发起查询命令,在配置信息模块304生成返回的表单属性配置信息后,接收请求模块302由配置信息模块304上取回数据。
在一些实施例中,可例如通过接收请求模块302接收用户的表单展示请求,接收请求模块302将所述请求发送给配置信息模块304,配置信息模块304生成表单属性配置信息后,由配置信息模块304主动发起连接,配置信息模块304将表单属性配置信息推送给接收请求模块302。
渲染模块306用于根据所述表单属性配置信息对待展示表单的源码进行属性渲染,生成表单展示信息。可例如:根据所述表单信息中的关键字对表单属性配置信息中的数据进行过滤,生成表单属性集合;将所述表单属性集合保存至本地缓存中;根据所述表单属性集合对待展示表单的源码进行属性渲染,生成表单展示信息。
其中,渲染模块306包括:属性渲染单元3062用于根据所述表单属性集合对待展示表单的属性类型进行渲染;样式渲染单元3064用于根据所述表单属性集合对待展示表单的预设样式进行渲染;以及规则绑定单元3066,用于根据所述表单属性集合对待展示表单的属性校验规则。
展示模块308用于通过所述表单展示信息响应所述用户的表单展示请求。其中,表单展示请求包括:Html源码;所述通过所述表单展示信息响应所述用户的表单展示请求包括:通过Html源码响应所述用户的表单展示请求。
根据本申请的用于表单展示的装置,通过由服务器提供表单属性配置信息,客户端接收表单属性配置信息,进行渲染的方式,能够在用户使用的客户端处屏蔽布局、代码的技术细节,提高页面开发效率。也有利于客户端处的网页布局进行实时更新。
图4是根据另一示例性实施例示出的一种用于表单展示的方法的流程图。图4示例性的描述了S226中,根据所述表单属性配置信息对待展示表单的源码进行属性渲染,生成表单展示信息的过程。单元名称可参考图3中的定义。
如图4所示,在S101中,属性渲染单元3062根据属性类型,渲染出该属性的html的源码(仅属性的输入框/选择框)。属性渲染单元3062将根据配置中心中配置的属性信息,生成对应的代码。
在S102~S103中,样式渲染单元3064将步骤S401中的属性作样式的扩展。含属性的标题,属性的输入框,属性的提示信息。
在S104~S105中,规则绑定单元3066绑定属性规则。用于输入值正确性的限制。
在S106中,规则绑定单元3066返回属性渲染的实体结果。
图5是根据另一示例性实施例示出的一种用于表单展示的装置的框图。如图5所示,用于表单展示的装置50包括:集中配置中心模块506,视图渲染模块504,Web开发模块502。
其中,集中配置中心模块506用于集中配置系统中所有所需的表单元素属性。分为表单属性库和业务表单。表单属性库:指的是表单输入字段元素的集合。配置了该字段应该具备的一些基本上属性。基本属性如表1所示。业务表单:定义具体是什么业务(如注册、产品录入、商品录入等),并将该业务允许的表单属性配置进来。业务表单和表单属性是1对多的关系。
视图渲染模块504用于将集中配置中心模块配置的表单属性在页面端表现出来。在该模块,将定义好各表单属性类型(文本、下拉框、单选框、复选框等)的渲染方式,为web开发模块屏蔽html代码细节。
视图渲染模块504包括以下单元,各个单元之间的协作方式如图4所示。
表2视图渲染模块
组件名 | 概述 |
属性渲染单元 | 根据属性类型渲染生成出html源码 |
样式渲染单元 | 用于配置单个属性在页面布局中的显示效果 |
规则绑定单元 | 绑定属性的js校验规则 |
Web开发模块502为具体实际开发的页面,引入视图渲染模块提供的工具类,并定义好各个属性的显示顺序。
图6是根据另一示例性实施例示出的一种用于表单展示的方法的流程图。图6示例性的描述了用于表单展示的方法,模块名称可参考图5中的定义。
其中,在S201中,web开发模块502调用视图渲染模块504提供的工具,并按照一定的顺序定义好属性的排序。该模块向视图渲染模块提供业务表单和需要渲染的关键字集合。视图渲染模块504接收到web开发模块502提供的数据,并做初始化步骤(初始化如S202~S205所示)。
如图7所示,开发人员在web开发模块502定义表单和表单属性列表。开发人员只需在web开发模块502面板中,定义好表单编码以及表单属性的展示顺序即可,无需写各个属性的类型、规则等。定义好各属性后,该模块请求中带上业务表单编码和表单属性列表信息,调用渲染工具模块。该模块为开发人员屏蔽布局、代码的技术细节,提高页面开发效率。
在S202中,根据web开发模块502提供的业务表单,向集中配置中心模块506查询该业务表单拥有的属性集合。根据业务表单编码,集中配置模块506查询出该业务表单下配置的所有表单属性。集中配置中心能够集中化管理属性信息,后续可通过渲染模块生成客户端和服务端代码,减少了代码冗余。
在S203中,集中配置中心模块506返回表单属性配置信息。集中配置模块506返回业务表单下配置的所有表单属性列表。返回表单属性列表的例子如下:
其中表格纵向数据为表单属性的各个属性信息(对应表2),横向数据为每条属性的信息。
在S204~S205中,视图渲染模块504将表单属性集合kv(Key-Value)缓存化,以键值对的形式存放于本地客户端jvm(Java Virtual Machine)缓存中。缓存中,key为所述关键字,value值为属性基本信息数据。该jvm缓存为当前http请求有效,http请求结束后,缓存自动失效。缓存中的属性kv,为属性白名单,web开发模块502只允许传递白名单里的关键字中的数据。
在S204中,视图渲染模块504将返回的业务表单下的属性列表和请求传送的表单属性表,根据所述关键字做过滤,过滤出表单属性集合数据,该部分数据可作为白名单数据。可例如:返回的业务表单下的属性列表中包含:account,password,certType,certNo,cellPhone总共5个属性,而请求传送的表单属性表为account,cellPhone,address这3个属性,account和cellPhone命中,而address不在返回属性列表中,则属性列表集合(白名单)中的结果只有account和cellPhone。还可例如,增加白名单过滤处理,过滤掉未支持的属性,只渲染集中配置中心模块支持的属性。
在S205中,视图渲染模块504将过滤出的属性白名单列表存于临时的本地jvm缓存中。该缓存的作用时间仅仅为请求到渲染完成期间,表单渲染完成后jvm缓存自动失效。引入缓存的原因是,由于属性需要一条一条逐次渲染,每次渲染,都要从属性列表中查询对应的属性信息,当表单属性集合放到缓存中时,在逐条渲染属性时,属性信息直接从缓存查询,避免每渲染一条属性都从集中配置中心模块502获取的情况,能够减少与配置中心的信息交互次数,从而加快渲染速度。
在S206中,视图渲染模块504初始化完毕后,根据web开发模块502提供的表单关键字,依次渲染属性html源码,并对数据输入项做校验绑定。
其中,单条源码的渲染过程可例如图8所示。
在S301,单条属性渲染请求开始。
在S302,将属性信息放入到本方案框架预设的样式模版。
在S303,渲染预设的样式(如文本框、提示信息、页面文案等)。
在S304,根据当前关键字,检索到表3中的校验规则项。
在S305,将属性的校验规则,绑定到属性输入框。当使用者在渲染完成后页面的输入框输入数据后,系统将会做相应的规则校验并提示出错信息。
在S306,返回一条完成的属性展示实体。包括单条属性的属性名称、输入框等展示样式。
重复以上步骤至所有的源码渲染完成为止。
在S207中,最终并渲染出成形的页面。
根据本申请的用于表单展示的装置,视图渲染模块和集中配置模块协作,为web开发模块屏蔽代码细节,减少代码量,代码结构清晰。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本申请提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
图9是根据一示例性实施例示出的一种电子设备的框图。
下面参照图9来描述根据本申请的这种实施方式的电子设备200。图9显示的电子设备200仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,电子设备200以通用计算设备的形式表现。电子设备200的组件可以包括但不限于:至少一个处理单元210、至少一个存储单元220、连接不同系统组件(包括存储单元220和处理单元210)的总线230、显示单元240等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元210执行,使得所述处理单元210执行本说明书上述电子处方流转处理方法部分中描述的根据本申请各种示例性实施方式的步骤。例如,所述处理单元210可以执行如图2,图4,图6,图8中所示的步骤。
图10示意性示出本公开示例性实施例中一种计算机可读存储介质示意图。
参考图10所示,描述了根据本申请的实施方式的用于实现上述方法的程序产品1000,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:接收来自用户的表单展示请求,所述表单展示请求中包括表单信息;根据所述表单信息获取表单属性配置信息;根据所述表单属性配置信息对待展示表单的源码进行属性渲染,生成表单展示信息;以及通过所述表单展示信息响应所述用户的表单展示请求。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施例的方法。
以上具体地示出和描述了本申请的示例性实施例。应可理解的是,本申请不限于这里描述的详细结构、设置方式或实现方法;相反,本申请意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
此外,本说明书说明书附图所示出的结构、比例、大小等,均仅用以配合说明书所公开的内容,以供本领域技术人员了解与阅读,并非用以限定本公开可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本公开所能产生的技术效果及所能实现的目的下,均应仍落在本公开所公开的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“第一”、“第二”及“一”等的用语,也仅为便于叙述的明了,而非用以限定本公开可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当也视为本申请可实施的范畴。
Claims (12)
1.一种用于表单展示的方法,其特征在于,包括:
接收来自用户的表单展示请求,所述表单展示请求中包括表单信息;
根据所述表单信息获取表单属性配置信息;
根据所述表单属性配置信息对待展示表单的源码进行属性渲染,生成表单展示信息;以及
通过所述表单展示信息响应所述用户的表单展示请求;
所述表单信息,包括:
业务表单类型,表单属性列表,所述表单属性列表中包含关键字;
所述根据所述表单属性配置信息对待展示表单的源码进行属性渲染,生成表单展示信息,包括:
根据所述表单信息中的关键字对表单属性配置信息中的数据进行过滤,生成表单属性集合;
将所述表单属性集合保存至本地缓存中;
根据所述表单属性集合对待展示表单的源码进行属性渲染,生成表单展示信息;
将所述本地缓存中的所述表单属性集合设置为白名单;
或者,所述根据所述表单属性集合对待展示表单的源码进行属性渲染,生成表单展示信息,包括:
通过所述本地缓存调用所述表单属性集合对待展示表单的源码进行属性渲染,生成表单展示信息;
或者,所述根据所述表单属性集合对待展示表单的源码进行属性渲染,生成表单展示信息,包括:
对待展示表单的源码逐条进行属性渲染,生成多条属性展示实体,展示实体包括展示样式信息;以及
通过多条属性展示实体生成所述表单展示信息。
2.如权利要求1所述的方法,其特征在于,所述根据所述表单信息获取表单属性配置信息,包括:
根据所述表单属性列表,获取表单属性配置信息。
3.如权利要求1所述的方法,其特征在于,所述根据所述表单信息中的关键字对表单属性配置信息中的数据进行过滤,生成表单属性集合,包括:
根据所述表单信息中的关键字对表单属性配置信息中的数据进行过滤,生成过滤数据;以及
将所述过滤数据以键值对的形式储存到缓存中,生成表单属性集合。
4.如权利要求1所述的方法,其特征在于,所述根据所述表单属性集合对待展示表单的源码进行属性渲染,生成表单展示信息,包括:
根据所述表单属性集合对待展示表单的属性类型进行渲染;
根据所述表单属性集合对待展示表单的预设样式进行渲染;以及
根据所述表单属性集合对待展示表单的属性校验规则。
5.如权利要求4所述的方法,其特征在于,所述对待展示表单的源码逐条进行属性渲染,包括:
将源码对应的属性信息根据所述预设样式进行渲染;
根据关键字确定属性信息对应的属性校验规则;以及
将所述校验规则绑定到属性输入框。
6.如权利要求1所述的方法,其特征在于,还包括:
在生成所述表单展示信息之后,清除缓存中的所述表单属性配置信息。
7.如权利要求1所述的方法,其特征在于,所述表单展示信息,包括:Html源码;
所述通过所述表单展示信息响应所述用户的表单展示请求包括:
通过Html源码响应所述用户的表单展示请求。
8.一种用于表单展示的装置,其特征在于,包括:
接收请求模块,用于接收来自用户的表单展示请求,所述表单展示请求中包括表单信息;
配置信息模块,用于根据所述表单信息获取表单属性配置信息;
渲染模块,用于根据所述表单属性配置信息对待展示表单的源码进行属性渲染,生成表单展示信息;以及
展示模块,用于通过所述表单展示信息响应所述用户的表单展示请求;
所述表单信息,包括:
业务表单类型,表单属性列表,所述表单属性列表中包含关键字;
所述渲染模块根据所述表单属性配置信息对待展示表单的源码进行属性渲染,生成表单展示信息,包括:
根据所述表单信息中的关键字对表单属性配置信息中的数据进行过滤,生成表单属性集合;
将所述表单属性集合保存至本地缓存中;
根据所述表单属性集合对待展示表单的源码进行属性渲染,生成表单展示信息;
还包括:
视图渲染模块,用于将所述本地缓存中的所述表单属性集合设置为白名单;
或者,所述渲染模块根据所述表单属性集合对待展示表单的源码进行属性渲染,生成表单展示信息,包括:
通过所述本地缓存调用所述表单属性集合对待展示表单的源码进行属性渲染,生成表单展示信息;
或者,所述渲染模块根据所述表单属性集合对待展示表单的源码进行属性渲染,生成表单展示信息,包括:
对待展示表单的源码逐条进行属性渲染,生成多条属性展示实体,展示实体包括展示样式信息;以及
通过多条属性展示实体生成所述表单展示信息。
9.如权利要求8所述的装置,其特征在于,所述渲染模块,包括:
属性渲染单元,用于根据所述表单属性配置信息对待展示表单的属性进行渲染;
样式渲染单元,用于根据所述表单属性配置信息对待展示表单的样式进行渲染;以及
规则绑定单元,用于根据所述表单属性配置信息绑定待展示表单的属性规则。
10.一种用于表单展示的系统,其特征在于,包括:
服务器,用于根据表单信息提供表单属性配置信息;以及
至少一个客户端,用于接收来自用户的表单展示请求,所述表单展示请求中包括表单信息;通过所述服务器获取所述表单属性配置信息;根据所述表单属性配置信息对待展示表单的源码进行属性渲染,生成表单展示信息;以及通过所述表单展示信息响应所述用户的表单展示请求;
其中,所述表单信息,包括:
业务表单类型,表单属性列表,所述表单属性列表中包含关键字;
所述客户端根据所述表单属性配置信息对待展示表单的源码进行属性渲染,生成表单展示信息,包括:
根据所述表单信息中的关键字对表单属性配置信息中的数据进行过滤,生成表单属性集合;
将所述表单属性集合保存至本地缓存中;
根据所述表单属性集合对待展示表单的源码进行属性渲染,生成表单展示信息;
视图渲染模块将所述本地缓存中的所述表单属性集合设置为白名单;
或者,所述客户端根据所述表单属性集合对待展示表单的源码进行属性渲染,生成表单展示信息,包括:
通过所述本地缓存调用所述表单属性集合对待展示表单的源码进行属性渲染,生成表单展示信息;
或者,所述客户端根据所述表单属性集合对待展示表单的源码进行属性渲染,生成表单展示信息,包括:
对待展示表单的源码逐条进行属性渲染,生成多条属性展示实体,展示实体包括展示样式信息;以及
通过多条属性展示实体生成所述表单展示信息。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810411626.XA CN108595681B (zh) | 2018-05-02 | 2018-05-02 | 用于表单展示的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810411626.XA CN108595681B (zh) | 2018-05-02 | 2018-05-02 | 用于表单展示的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108595681A CN108595681A (zh) | 2018-09-28 |
CN108595681B true CN108595681B (zh) | 2020-12-18 |
Family
ID=63620630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810411626.XA Active CN108595681B (zh) | 2018-05-02 | 2018-05-02 | 用于表单展示的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108595681B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542878B (zh) * | 2018-11-21 | 2021-03-09 | 广州方硅信息技术有限公司 | 一种列表创建方法及装置 |
CN109992346A (zh) * | 2019-04-08 | 2019-07-09 | 香港乐蜜有限公司 | 虚拟物品的展示方法、装置及设备 |
CN112966481B (zh) * | 2019-12-13 | 2023-09-29 | 北京懿医云科技有限公司 | 一种数据表格展示方法及装置 |
CN111736825B (zh) * | 2020-04-24 | 2024-05-17 | 北京沃东天骏信息技术有限公司 | 一种信息展示方法、装置、设备和存储介质 |
CN112684968A (zh) * | 2020-12-28 | 2021-04-20 | 北京五八信息技术有限公司 | 页面展示方法、装置、电子设备和计算机可读介质 |
CN114186544A (zh) * | 2021-11-30 | 2022-03-15 | 北京达佳互联信息技术有限公司 | 表单生成方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024062A (zh) * | 2011-01-06 | 2011-04-20 | 中国工商银行股份有限公司 | 一种实现数据动态缓存处理的装置及方法 |
CN102761782A (zh) * | 2011-12-30 | 2012-10-31 | 新奥特(北京)视频技术有限公司 | 一种基于电视台业务数据的信息发布方法及系统 |
CN103605502A (zh) * | 2013-08-08 | 2014-02-26 | 北京九恒星科技股份有限公司 | 表单页面显示方法及服务器 |
CN104516633A (zh) * | 2014-11-19 | 2015-04-15 | 微梦创科网络科技(中国)有限公司 | 一种用户界面元素管理方法和装置 |
CN107229685A (zh) * | 2017-05-11 | 2017-10-03 | 东软集团股份有限公司 | 实例生成、实例操作方法及装置、存储介质及电子设备 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8589394B2 (en) * | 2007-11-29 | 2013-11-19 | Sap Ag | System and method for dynamically configuring a multi-model node table |
CN102737037A (zh) * | 2011-04-07 | 2012-10-17 | 北京搜狗科技发展有限公司 | 一种网页预读取的方法、装置及一种浏览器 |
CN103106244A (zh) * | 2012-12-31 | 2013-05-15 | 华为技术有限公司 | 一种信息展示方法,终端设备,服务器及系统 |
CN103345484B (zh) * | 2013-06-21 | 2016-06-22 | 中国工商银行股份有限公司 | 基于动态域的报表处理系统及方法 |
CN104572032A (zh) * | 2013-10-09 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 一种报表创建方法和电子设备 |
CN104331290B (zh) * | 2014-10-31 | 2017-10-17 | 北京思特奇信息技术股份有限公司 | 一种资源种类管理和页面展示的方法及系统 |
CN105989082B (zh) * | 2015-02-10 | 2019-06-25 | 腾讯科技(深圳)有限公司 | 报表视图生成方法和装置 |
CN106598924A (zh) * | 2016-10-28 | 2017-04-26 | 深圳前海微众银行股份有限公司 | 表单的生成方法和装置 |
CN106844471A (zh) * | 2016-12-22 | 2017-06-13 | 北京市天元网络技术股份有限公司 | 一种电子运维系统表单数据处理方法及服务器 |
CN107102859A (zh) * | 2017-04-20 | 2017-08-29 | 千寻位置网络有限公司 | 自动填充Web表单的方法 |
-
2018
- 2018-05-02 CN CN201810411626.XA patent/CN108595681B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024062A (zh) * | 2011-01-06 | 2011-04-20 | 中国工商银行股份有限公司 | 一种实现数据动态缓存处理的装置及方法 |
CN102761782A (zh) * | 2011-12-30 | 2012-10-31 | 新奥特(北京)视频技术有限公司 | 一种基于电视台业务数据的信息发布方法及系统 |
CN103605502A (zh) * | 2013-08-08 | 2014-02-26 | 北京九恒星科技股份有限公司 | 表单页面显示方法及服务器 |
CN104516633A (zh) * | 2014-11-19 | 2015-04-15 | 微梦创科网络科技(中国)有限公司 | 一种用户界面元素管理方法和装置 |
CN107229685A (zh) * | 2017-05-11 | 2017-10-03 | 东软集团股份有限公司 | 实例生成、实例操作方法及装置、存储介质及电子设备 |
Non-Patent Citations (2)
Title |
---|
"WEB动态报表实现中的参数化过滤技术";马瑞敏 等;《计算机系统应用》;20090215(第2期);第176-179页 * |
"复杂报表生成系统实现技术研究";李兴勇 等;《计算机应用》;20070701;第27卷(第7期);第1821-1824页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108595681A (zh) | 2018-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595681B (zh) | 用于表单展示的方法、装置及系统 | |
US11372935B2 (en) | Automatically generating a website specific to an industry | |
US9235636B2 (en) | Presenting data in response to an incomplete query | |
WO2009072145A1 (en) | Templating system and method for updating content in real time | |
CN109033406B (zh) | 用于搜索区块链数据的方法、装置及存储介质 | |
CN109683998A (zh) | 国际化实现方法、装置和系统 | |
CN104142826A (zh) | 页面的构建方法、装置及系统 | |
US20150302110A1 (en) | Decoupling front end and back end pages using tags | |
CN104375808B (zh) | 界面显示方法及装置 | |
CN103049271A (zh) | 自动生成api接口的描述文档的方法和装置 | |
CN107807937B (zh) | 一种网站seo处理方法、装置及系统 | |
KR101275871B1 (ko) | SaaS 환경에서의 홈페이지 제작 시스템 및 방법, 그 방법을 컴퓨터에서 실행하기 위한 컴퓨터 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체 | |
CN109101607B (zh) | 用于搜索区块链数据的方法、装置及存储介质 | |
JP6872258B2 (ja) | インターネットコンテンツ提供サーバ及びその方法が具現化されたコンピュータで判読できる記録媒体 | |
CN102930057A (zh) | 搜索实现方法和装置 | |
CN105426508A (zh) | 网页生成方法和装置 | |
CN102930058A (zh) | 一种在浏览器的地址栏中实现搜索的方法和装置 | |
US20170109442A1 (en) | Customizing a website string content specific to an industry | |
CN102750081A (zh) | 信息处理设备、信息处理方法和程序 | |
CN109543092A (zh) | 金融产品推荐方法、装置、存储介质及计算机设备 | |
CN107391118B (zh) | 一种Web应用用户体验平台系统 | |
CN109086414B (zh) | 用于搜索区块链数据的方法、装置及存储介质 | |
CN110888869A (zh) | 一种数据处理方法和装置 | |
US11126410B2 (en) | Method and apparatus for building pages, apparatus and non-volatile computer storage medium | |
CN115758016A (zh) | 网页内容静态化处理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |