CN103870254B - 一种动态表单的实现方法、客户端及服务器 - Google Patents

一种动态表单的实现方法、客户端及服务器 Download PDF

Info

Publication number
CN103870254B
CN103870254B CN201210533786.4A CN201210533786A CN103870254B CN 103870254 B CN103870254 B CN 103870254B CN 201210533786 A CN201210533786 A CN 201210533786A CN 103870254 B CN103870254 B CN 103870254B
Authority
CN
China
Prior art keywords
forms pages
client
server
forms
pages
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
CN201210533786.4A
Other languages
English (en)
Other versions
CN103870254A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201210533786.4A priority Critical patent/CN103870254B/zh
Publication of CN103870254A publication Critical patent/CN103870254A/zh
Application granted granted Critical
Publication of CN103870254B publication Critical patent/CN103870254B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种动态表单的实现方法、客户端及服务器,其中的方法可包括:客户端接收到表单页面的获取请求时,从服务器获取第一表单页面的动态信息;所述客户端根据所述动态信息,对所述第一表单页面进行动态更新,形成第二表单页面;所述客户端显示所述第二表单页面,以响应所述获取请求。本发明可动态配置表单页面的数据及展现形式,提升表单开发的效率。

Description

一种动态表单的实现方法、客户端及服务器
技术领域
本发明涉及互联网技术领域,尤其涉及一种动态表单的实现方法、客户端及服务器。
背景技术
表单(Form)在网页中主要负责数据采集功能,一个表单有三个基本组成部分,一为表单标签,包含了处理表单数据所用的CGI(Common Gateway Interface,通用网关接口)程序的URL(Uniform/Universal Resource Locator,统一资源定位符)以及提交到服务器的方法;二为表单域,包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉列表框和文件上传框等,各处框通过控制指令实现,控制指令包含控制名及对应的控制值;三为表单按钮,包括提交按钮,用于采集的数据传送至服务器的CGI脚本;复位按钮,用于取消输入;等等。传统的表单通常为静态表单,其实现方法为:服务器根据数据库表结构生成表单页面发布至客户端进行存储,客户端接收到用户发送的表单页面的获取请求时,则显示本地存储的表单页面,通过表单页面采集用户数据并提交至服务器进行处理。传统的表单的数据及展现形式通常是定制的,如果需要修改表单的数据及展现形式,则需要专业的表单开发和设计人员重新进行设计和开发,并重新发布表单页面的源代码至客户端,重启客户端才能实现,这个过程不仅耗时,且耗费大量人力物力资源,降低了表单开发的效率。
发明内容
本发明实施例提供一种动态表单的实现方法、客户端及服务器,可动态配置表单页面的数据及展现形式,提升表单开发的效率。
本发明第一方面提供了一种动态表单的实现方法,可包括:
客户端接收到表单页面的获取请求时,从服务器获取第一表单页面的动态信息;
所述客户端根据所述动态信息,对所述第一表单页面进行动态更新,形成第二表单页面;
所述客户端显示所述第二表单页面,以响应所述获取请求。
本发明第二方面提供了另一种动态表单的实现方法,可包括:
服务器根据数据库表结构生成第一表单页面,并向客户端发布所述第一表单页面;
所述服务器对所述第一表单页面进行动态配置,生成所述第一表单页面的动态信息;
所述服务器根据所述客户端的获取操作,向所述客户端返回所述第一表单页面的动态信息,以使所述客户端动态更新所述第一表单页面,形成第二表单页面。
本发明第三方面提供了一种客户端,可包括:
动态获取模块,用于在接收到表单页面的获取请求时,从服务器获取第一表单页面的动态信息;
动态更新模块,用于根据所述动态信息,对所述第一表单页面进行动态更新,形成第二表单页面;
响应模块,用于显示所述第二表单页面,以响应所述获取请求。
本发明第四方面提供了一种服务器,可包括:
发布模块,用于根据数据库表结构生成第一表单页面,并向客户端发布所述第一表单页面;
动态配置模块,用于对所述第一表单页面进行动态配置,生成所述第一表单页面的动态信息;
动态返回模块,用于所述客户端的获取操作,向所述客户端返回所述第一表单页面的动态信息,以使所述客户端动态更新所述第一表单页面,形成第二表单页面。
实施本发明实施例,具有如下有益效果:
本发明实施例中,服务器可对已发布的表单页面进行动态配置,并向客户端返回动态信息,客户端根据该动态信息动态更新已发布的表单页面,并显示更新后的表单页面,从而无需进行繁琐的表单源代码的设计及重新发布,即可动态配置表单页面的数据及展现形式,降低了资源耗费,提升了表单开发的效率,保证表单开发的高效性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种动态表单的实现方法的流程图;
图2为本发明实施例提供的另一种动态表单的实现方法的流程图;
图3为本发明实施例提供的又一种动态表单的实现方法的流程图;
图4为本发明实施例提供的又一种动态表单的实现方法的流程图;
图5为本发明实施例提供的又一种动态表单的实现方法的流程图;
图6为本发明实施例提供的又一种动态表单的实现方法的流程图;
图7a为本发明实施例提供的第一表单页面的示意图;
图7b为本发明实施例提供的对第一表单页面进行动态配置的一个示意图;
图7c为本发明实施例提供的对第一表单页面进行动态配置的另一个示意图;
图7d为本发明实施例提供的第二表单页面的示意图;
图8为本发明实施例提供的一种客户端的结构示意图;
图9为本发明实施例提供的另一种客户端的结构示意图;
图10为本发明实施例提供的一种服务器的结构示意图;
图11为本发明实施例提供的另一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中,客户端可以为:PC(Personal Computer,个人计算机)、平板电脑、手机、智能手机、电子阅读器、笔记本电脑等终端设备,或者,客户端可以为终端设备中负责数据采集,并向服务器提交采集的数据的客户端模块,例如:浏览器客户端模块等等。表单页面可以为HTML(Hypertext Markup Language,超文本标记语言)表单页面或HTML5表单页面。
下面将结合附图1-附图7,对本发明实施例提供的动态表单的实现方法进行详细介绍。
请参见图1,为本发明实施例提供的一种动态表单的实现方法的流程图;本实施例从客户端侧阐述动态表单的实现方法的流程;该方法可包括以下步骤S101-步骤S103。
S101,客户端接收到表单页面的获取请求时,从服务器获取第一表单页面的动态信息;
客户端通过表单页面与用户进行交互,采集用户的数据。客户端存储有服务器发布的第一表单页面,当用户发起表单页面的获取请求时,例如:用户输入该表单页面的URL地址,发起表单页面的获取请求;客户端向服务器查询第一表单页面是否存在动态信息,即查询服务器向客户端发布该第一表单页面之后,是否对该第一表单页面进行了动态配置;如果该第一表单页面无动态信息,客户端可直接显示该第一表单页面,以响应用户的获取请求。如果该第一表单页面存在动态信息,客户端则获取该第一表单页面的动态信息。
S102,所述客户端根据所述动态信息,对所述第一表单页面进行动态更新,形成第二表单页面;
其中,所述动态信息可以为所述服务器对所述第一表单页面进行动态配置形成的第二表单页面;则本步骤中,客户端可将其存储的第一表单页面直接刷新为所述第二表单页面。或者,所述动态信息也可以为所述服务器对所述第一表单页面进行动态配置产生的动态配置信息;该动态配置信息可包含对第一表单页面包含的内容进行动态配置产生的数据、对第一表单页面的样式进行动态配置产生的样式参数,以及控制第一表单页面的展现形式的控制指令;本步骤中,所述客户端也可根据所述动态配置信息,对客户端存储的第一表单页面进行修改,形成第二表单页面。
S103,所述客户端显示所述第二表单页面,以响应所述获取请求。为响应用户对表单页面的获取请求,客户端向用户显示更新后的第二表单页面,则可利用第二表单页面采集用户数据。
本发明实施例中,服务器可对已发布的表单页面进行动态配置,并向客户端返回动态信息,客户端根据该动态信息动态更新已发布的表单页面,并显示更新后的表单页面,从而无需进行繁琐的表单源代码的设计及重新发布,即可动态配置表单页面的数据及展现形式,降低了资源耗费,提升了表单开发的效率,保证表单开发的高效性。
请参见图2,为本发明实施例提供的另一种动态表单的实现方法的流程图;本实施例从客户端侧阐述动态表单的实现方法的流程;该方法可包括以下步骤S201-步骤S205。
S201,客户端存储服务器发布的第一表单页面;
S202,客户端接收到表单页面的获取请求时,从服务器获取第一表单页面的动态信息;本步骤可参见图1所示的步骤S101。本实施例中,所述动态信息为所述服务器对所述第一表单页面进行动态配置形成的第二表单页面。
S203,所述客户端将其存储的第一表单页面更新为所述第二表单页面;
S204,所述客户端显示所述第二表单页面,以响应所述获取请求;
S205,所述客户端根据用户在所述第二表单页面中的输入操作,向所述服务器提交所述第二表单页面的数据。
本发明实施例中,服务器可对已发布的表单页面进行动态配置,并向客户端返回动态信息,客户端根据该动态信息动态更新已发布的表单页面,并显示更新后的表单页面,从而无需进行繁琐的表单源代码的设计及重新发布,即可动态配置表单页面的数据及展现形式,降低了资源耗费,提升了表单开发的效率,保证表单开发的高效性。
请参见图3,为本发明实施例提供的又一种动态表单的实现方法的流程图;本实施例从客户端侧阐述动态表单的实现方法的流程;该方法可包括以下步骤S301-步骤S305。
S301,客户端存储服务器发布的第一表单页面。
S302,客户端接收到表单页面的获取请求时,从服务器获取第一表单页面的动态信息;
本步骤可参见图1所示的步骤S101。本实施例中,所述动态信息也可以为所述服务器对所述第一表单页面进行动态配置产生的动态配置信息;该动态配置信息可包含对第一表单页面包含的内容进行动态配置产生的数据、对第一表单页面的样式进行动态配置产生的样式参数,以及控制第一表单页面的展现形式的控制指令。本步骤中,客户端可通过Ajax(Asynchronous JavaScript and XML (Extensible Markup Language,可扩展标记语言),异步JavaScript和XML,一种创建交互式网页应用的网页开发技术)方式,从服务器获取第一表单页面的动态配置信息。
S303,所述客户端根据所述动态配置信息,调用回调函数对所述客户端存储的所述第一表单页面进行修改,形成第二表单页面;
S304,所述客户端显示所述第二表单页面,以响应所述获取请求;客户端可利用第二表单页面采集用户数据;
S305,所述客户端根据用户在所述第二表单页面中的输入操作,向所述服务器提交所述第二表单页面的数据。
本发明实施例中,服务器可对已发布的表单页面进行动态配置,并向客户端返回动态信息,客户端根据该动态信息动态更新已发布的表单页面,并显示更新后的表单页面,从而无需进行繁琐的表单源代码的设计及重新发布,即可动态配置表单页面的数据及展现形式,降低了资源耗费,提升了表单开发的效率,保证表单开发的高效性。
请参见图4,为本发明实施例提供的又一种动态表单的实现方法的流程图;本实施例从服务器侧阐述动态表单的实现方法的流程;该方法可包括以下步骤S401-步骤S403。
S401,服务器根据数据库表结构生成第一表单页面,并向客户端发布所述第一表单页面;
其中,服务器可采用模板引擎,根据数据库表结构生成第一表单页面;例如:服务器采用FreeMarker(基于Java语言的模板引擎),根据数据库表结构生成第一表单页面;或者,服务器采用Velocity(基于Java语言的模板引擎),根据数据库表结构生成第一表单页面。服务器将生成的第一表单页面发布至客户端进行存储。
S402,所述服务器对所述第一表单页面进行动态配置,生成所述第一表单页面的动态信息;
服务器可以对其生成的表单页面进行动态配置,包括配置表单页面中的数据或配置控制表单页面的展现形式的指令。其中,所述动态信息可以为所述服务器对所述第一表单页面进行动态配置形成的第二表单页面;或者,所述动态信息也可以为所述服务器对所述第一表单页面进行动态配置产生的动态配置信息;该动态配置信息可包含对第一表单页面包含的内容进行动态配置产生的数据、对第一表单页面的样式进行动态配置产生的样式参数,以及控制第一表单页面的展现形式的控制指令。
S403,所述服务器根据所述客户端的获取操作,向所述客户端返回所述第一表单页面的动态信息,以使所述客户端动态更新所述第一表单页面,形成第二表单页面。
其中,若动态信息为所述服务器对所述第一表单页面进行动态配置形成的第二表单页面;则客户端可将其存储的第一表单页面直接刷新为所述第二表单页面。或者,若动态信息为所述服务器对所述第一表单页面进行动态配置产生的动态配置信息;客户端也可根据所述动态配置信息,对客户端存储的第一表单页面进行修改,形成第二表单页面。
本发明实施例中,服务器可对已发布的表单页面进行动态配置,并向客户端返回动态信息,客户端根据该动态信息动态更新已发布的表单页面,并显示更新后的表单页面,从而无需进行繁琐的表单源代码的设计及重新发布,即可动态配置表单页面的数据及展现形式,降低了资源耗费,提升了表单开发的效率,保证表单开发的高效性。
请参见图5,为本发明实施例提供的又一种动态表单的实现方法的流程图;本实施例从服务器侧阐述动态表单的实现方法的流程;该方法可包括以下步骤S501-步骤S505。
S501,服务器根据数据库表结构生成第一表单页面,并向客户端发布所述第一表单页面;
S502,所述服务器对所述第一表单页面进行动态配置,生成所述第一表单页面的动态信息;
S503,所述服务器根据所述客户端的获取操作,向所述客户端返回所述第一表单页面的动态信息,以使所述客户端动态更新所述第一表单页面,形成第二表单页面;
本实施例中,步骤S501-步骤S503可参见图4所示实施例的步骤S401-步骤S403,在此不赘述。
S504,当接收到所述客户端提交的所述第二表单页面的数据时,所述服务器判断所述第二表单页面的结构相对于所述第一表单页面的结构是否发生变化;如果判断结果为是,转入步骤S505;否则,结束。
由于表单页面包含控制表单页面的展现形式的控制指令,例如:复选框checkbox控制指令、单选框radio控制指令、下拉列表menus控制指令或文本text控制指令;每个控制指令包含控制名及控制值,例如:checkbox控制指令,其包含的控制名为“checkbox”,该控制名对应相应的控制值。本步骤中,第二表单页面相对于第一表单页面的结构发生变化,指对第一表单页面进行动态配置后,控制第一表单页面的展现形式的控制指令中,同一控制名对应的控制值的个数发生变化。本步骤中,服务器判断第二表单页面的结构相对于第一表单页面的结构是否发生变化的过程可以为:服务器可判断第二表单页面与第一表单页面中同一控制名对应的控制值的个数是否相同,如果相同,则表明第二表单页面的结构相对于第一表单页面的结构未发生变化;如果不同,则表明第二表单页面的结构相对于第一表单页面的结构发生了变化。
S505,所述服务器遍历所述第二表单页面的数据,修改所述服务器与所述客户端之间的协议内容。
如果第二表单页面的结构相对于第一表单页面的结构发生了变化,则需要修改服务器与客户端之间的协议内容,使协议兼容本次动态配置的情况。本步骤中,服务器遍历第二表单页面的数据,修改所述服务器与所述客户端之间的协议中关于表单的控制指令。
本发明实施例中,服务器可对已发布的表单页面进行动态配置,并向客户端返回动态信息,客户端根据该动态信息动态更新已发布的表单页面,并显示更新后的表单页面,从而无需进行繁琐的表单源代码的设计及重新发布,即可动态配置表单页面的数据及展现形式,降低了资源耗费,提升了表单开发的效率,保证表单开发的高效性。
下面将结合附图6-附图7,以一具体实例来说明本发明实施例提供的动态表单的实现方法。
请参见图6,为本发明实施例提供的又一种动态表单的实现方法的流程图;本实施例通过客户端与服务器的交互阐述动态表单的实现方法的流程;该方法可包括以下步骤S601-步骤S611。
S601,服务器根据数据库表结构生成第一表单页面;
本步骤中,服务器可采用模板引擎,根据数据库表结构生成第一表单页面,例如:服务器采用FreeMarker,根据数据库表结构生成input(输入)类型为text(文本)的第一表单页面。
S602,服务器向客户端发布所述第一表单页面;
S603,客户端存储服务器发布的第一表单页面;
请一并参见图7a,为本发明实施例提供的第一表单页面的示意图;客户端显示服务器发布的input类型为text的第一表单页面的情况可如图7a所示的具体实例,用户可在图7a所示的文本框中输入文本数据,由客户端采集用户输入的文本数据并提交至服务器进行处理。
S604,服务器对第一表单页面进行动态配置,生成第一表单页面的动态信息;
服务器可以对表单页面进行动态配置,包括配置表单页面的数据和控制表单页面的展现形式的指令。请一并参见图7b,为本发明实施例提供的对第一表单页面进行动态配置的一个示意图;再请一并参见图7c,为本发明实施例提供的对第一表单页面进行动态配置的另一个示意图;如图7b-7c所示,服务器可将图7a所示的文本类型的表单页面动态配置为复选checkbox类型的表单页面。请一并参见图7d,为本发明实施例提供的第二表单页面的示意图;服务器对图7a所示的表单页面进行图7b-7c所示的动态配置之后,可产生动态配置信息,或直接形成图7d所示的第二表单页面;该动态配置信息或图7d所示的第二表单页面则为第一表单页面的动态信息。
S605,客户端接收到表单页面的获取请求时,从服务器获取第一表单页面的动态信息;
步骤S604中,服务器对第一表单页面进行动态配置,生成第一表单页面的动态信息,本步骤中,客户端在接收到用户发送的表单页面的获取请求时,获取服务器生成的第一表单页面的动态信息。
需要说明的是,如果服务器对第一表单页面并未进行动态配置,此时本发明可兼容现有技术,客户端接收到表单页面的获取请求时,直接显示其存储的第一表单页面,即显示图7a所示的表单页面,用户可在图7a所示的文本框中输入文本数据,由客户端采集用户输入的文本数据并提交至服务器进行处理。
S606,服务器根据客户端的获取操作,向客户端返回第一表单页面的动态信息;
S607,客户端根据所述动态信息,对第一表单页面进行动态更新,形成第二表单页面;
本步骤中,客户端可将本地存储的图7a所示的第一表单页面动态刷新为图7d所示的第二表单页面;或者,客户端根据服务器生成的动态配置信息,通过回调函数,将本地存储的input类型为text的图7a所示的第一表单页面,修改为input类型为checkbox的图7d所示的第二表单页面。
S608,客户端显示所述第二表单页面,以响应所述获取请求;本步骤中,客户端显示图7d所示的第二表单页面。
S609,客户端根据用户在第二表单页面中的输入操作,提交第二表单页面的数据;用户可在图7d所示的表单页面中勾选复选框,即可执行输入操作,客户端则根据用户的勾选操作采集用户数据,并提交至服务器进行处理。
S610,当接收到客户端提交的所述第二表单页面的数据时,服务器判断所述第二表单页面的结构相对于所述第一表单页面的结构是否发生变化;如果判断结果为是,转入步骤S611;否则,结束。
S611,所述服务器遍历所述第二表单页面的数据,修改所述服务器与所述客户端之间的协议内容。
本实施例中,步骤S610-步骤S611可参见图5所示的步骤S504-步骤S505,在此不赘述。
本发明实施例中,服务器可对已发布的表单页面进行动态配置,并向客户端返回动态信息,客户端根据该动态信息动态更新已发布的表单页面,并显示更新后的表单页面,从而无需进行繁琐的表单源代码的设计及重新发布,即可动态配置表单页面的数据及展现形式,降低了资源耗费,提升了表单开发的效率,保证表单开发的高效性。
需要说明的是,针对第一表单页面执行上述图1-图7所示的动态页面的实现方法之后,客户端存储的表单页面更新为第二表单页面,若服务器对第二表单页面进行动态配置,产生第二表单页面的动态信息,则客户端和/或服务器针对第二表单页面执行的动态表单的实现方法可参见图1-图7所示实施例的相关描述,同理,客户端和/或服务器针对第三表单页面、第四表单页面或其他表单页面执行的动态表单实现方法均可参见图1-图7所示实施例的相关描述,在此不赘述。
下面将结合附图8-附图9,对本发明实施例提供的客户端的结构进行详细介绍。需要说明的是,下述的客户端可应用于上述的方法实施例中。
请参见图8,为本发明实施例提供的一种客户端的结构示意图;该客户端可包括:动态获取模块101、动态更新模块102和响应模块103。
动态获取模块101,用于在接收到表单页面的获取请求时,从服务器获取第一表单页面的动态信息;
客户端通过表单页面与用户进行交互,采集用户的数据。客户端存储有服务器发布的第一表单页面,当用户发起表单页面的获取请求时,例如:用户输入该表单页面的URL地址,发起表单页面的获取请求;客户端向服务器查询第一表单页面是否存在动态信息,即查询服务器向客户端发布该第一表单页面之后,是否对该第一表单页面进行了动态配置;如果该第一表单页面无动态信息,客户端可直接显示该第一表单页面,以响应用户的获取请求。如果该第一表单页面存在动态信息,动态获取模块101则获取该第一表单页面的动态信息。
动态更新模块102,用于根据所述动态信息,对所述第一表单页面进行动态更新,形成第二表单页面;
其中,所述动态信息可以为所述服务器对所述第一表单页面进行动态配置形成的第二表单页面;所述动态更新模块102可将客户端本地存储的第一表单页面直接刷新为所述第二表单页面。或者,所述动态信息也可以为所述服务器对所述第一表单页面进行动态配置产生的动态配置信息;该动态配置信息可包含对第一表单页面包含的内容进行动态配置产生的数据、对第一表单页面的样式进行动态配置产生的样式参数,以及控制第一表单页的展现形式的控制指令;所述动态更新模块102也可根据所述动态配置信息,对客户端存储的第一表单页面进行修改,形成第二表单页面。
响应模块103,用于显示所述第二表单页面,以响应所述获取请求。为响应用户对表单页面的获取请求,所述响应模块103向用户显示更新后的第二表单页面,则可利用第二表单页面采集用户数据。
需要说明的是,本发明实施例的客户端的结构和功能根据上述方法实施例中的方法具体实现,该具体实现过程可参见上述方法实施例的相关描述,在此不赘述。
本发明实施例中,服务器可对已发布的表单页面进行动态配置,并向客户端返回动态信息,客户端根据该动态信息动态更新已发布的表单页面,并显示更新后的表单页面,从而无需进行繁琐的表单源代码的设计及重新发布,即可动态配置表单页面的数据及展现形式,降低了资源耗费,提升了表单开发的效率,保证表单开发的高效性。
请参见图9,为本发明实施例提供的另一种客户端的结构示意图;该客户端可包括:动态获取模块101、动态更新模块102、响应模块103、存储模块104和提交模块105。其中,动态获取模块101、动态更新模块102和响应模块103的结构可参见图8所示实施例的相关描述,在此不赘述。
存储模块104,用于存储服务器发布的第一表单页面。
提交模块105,用于根据用户在所述第二表单页面中的输入操作,向所述服务器提交所述第二表单页面的数据。
需要说明的是,本发明实施例的客户端的结构和功能根据上述方法实施例中的方法具体实现,该具体实现过程可参见上述方法实施例的相关描述,在此不赘述。
本发明实施例中,服务器可对已发布的表单页面进行动态配置,并向客户端返回动态信息,客户端根据该动态信息动态更新已发布的表单页面,并显示更新后的表单页面,从而无需进行繁琐的表单源代码的设计及重新发布,即可动态配置表单页面的数据及展现形式,降低了资源耗费,提升了表单开发的效率,保证表单开发的高效性。
下面将结合附图10-附图11,对本发明实施例提供的服务器的结构进行详细介绍。需要说明的是,下述的服务器可应用于上述的方法实施例中,也可应用于上述客户端的实施例中。
请参见图10,为本发明实施例提供的一种服务器的结构示意图;该服务器可包括:发布模块201、动态配置模块202和动态返回模块203。
发布模块201,用于根据数据库表结构生成第一表单页面,并向客户端发布所述第一表单页面;
其中,所述发布模块201可采用模板引擎,根据数据库表结构生成第一表单页面;例如:采用FreeMarker,根据数据库表结构生成第一表单页面;或者,采用Velocity,根据数据库表结构生成第一表单页面。所述发布模块201将生成的第一表单页面发布至客户端进行存储。
动态配置模块202,用于对所述第一表单页面进行动态配置,生成所述第一表单页面的动态信息;
所述动态配置模块202可以对服务器生成的表单页面进行动态配置,包括配置表单页面中的数据或配置控制表单页面的展现形式的指令。其中,所述动态信息可以为所述服务器对所述第一表单页面进行动态配置形成的第二表单页面;或者,所述动态信息也可以为所述服务器对所述第一表单页面进行动态配置产生的动态配置信息;该动态配置信息可包含对第一表单页面包含的内容进行动态配置产生的数据、对第一表单页面的样式进行动态配置产生的样式参数,以及控制第一表单页的展现形式的控制指令。
动态返回模块203,用于所述客户端的获取操作,向所述客户端返回所述第一表单页面的动态信息,以使所述客户端动态更新所述第一表单页面,形成第二表单页面。
其中,若动态信息为所述服务器对所述第一表单页面进行动态配置形成的第二表单页面;则客户端可将其本地存储的第一表单页面直接刷新为所述第二表单页面;或者,若动态信息为所述服务器对所述第一表单页面进行动态配置产生的动态配置信息;客户端也可根据所述动态配置信息,对客户端存储的第一表单页面进行修改,形成第二表单页面。
需要说明的是,本发明实施例的服务的结构和功能根据上述方法实施例中的方法具体实现,该具体实现过程可参见上述方法实施例的相关描述,在此不赘述。
本发明实施例中,服务器可对已发布的表单页面进行动态配置,并向客户端返回动态信息,客户端根据该动态信息动态更新已发布的表单页面,并显示更新后的表单页面,从而无需进行繁琐的表单源代码的设计及重新发布,即可动态配置表单页面的数据及展现形式,降低了资源耗费,提升了表单开发的效率,保证表单开发的高效性。
请参见图11,为本发明实施例提供的另一种服务器的结构示意图;该服务器可包括:发布模块201、动态配置模块202、动态返回模块203、判断模块204和处理模块205。其中,发布模块201、动态配置模块202和动态返回模块203的结构可参见图10所示实施例的相关描述,在此不赘述。
判断模块204,用于当接收到所述客户端提交的所述第二表单页面的数据时,判断所述第二表单页面的结构相对于所述第一表单页面的结构是否发生变化;
所述判断模块204判断第二表单页面的结构相对于第一表单页面的结构是否发生变化的过程可以为:所述判断模块204可判断第二表单页面与第一表单页面中同一控制名对应的控制值的个数是否相同,如果相同,则表明第二表单页面的结构相对于第一表单页面的结构未发生变化;如果不同,则表明第二表单页面的结构相对于第一表单页面的结构发生了变化。
处理模块205,用于当判断结果为是时,遍历所述第二表单页面的数据,修改所述服务器与所述客户端之间的协议内容。
如果第二表单页面的结构相对于第一表单页面的结构发生了变化,则需要修改服务器与客户端之间的协议内容,使协议兼容本次动态配置的情况。所述处理模块205遍历第二表单页面的数据,修改所述服务器与所述客户端之间的协议中关于表单的控制指令。
需要说明的是,本发明实施例的服务的结构和功能根据上述方法实施例中的方法具体实现,该具体实现过程可参见上述方法实施例的相关描述,在此不赘述。
本发明实施例中,服务器可对已发布的表单页面进行动态配置,并向客户端返回动态信息,客户端根据该动态信息动态更新已发布的表单页面,并显示更新后的表单页面,从而无需进行繁琐的表单源代码的设计及重新发布,即可动态配置表单页面的数据及展现形式,降低了资源耗费,提升了表单开发的效率,保证表单开发的高效性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (13)

1.一种动态表单的实现方法,其特征在于,包括:
客户端接收到表单页面的获取请求时,向服务器查询第一表单页面是否存在动态信息;如果所述第一表单页面无动态信息,表明所述服务器向客户端发布所述第一表单页面之后未对所述第一表单页面进行动态配置,所述客户端则直接显示所述第一表单页面;如果所述第一表单页面存在动态信息,表明所述服务器向所述客户端发布所述第一表单页面之后对所述第一表单页面进行了动态配置,所述客户端则从服务器获取第一表单页面的动态信息;
所述客户端根据所述动态信息,对所述第一表单页面进行动态更新,形成第二表单页面;
所述客户端显示所述第二表单页面,以响应所述获取请求。
2.如权利要求1所述的方法,其特征在于,所述客户端接收到表单页面的获取请求之前,还包括:
客户端存储服务器发布的第一表单页面。
3.如权利要求2所述的方法,其特征在于,所述动态信息为所述服务器对所述第一表单页面进行动态配置形成的第二表单页面;
所述客户端根据所述动态信息,对所述第一表单页面进行动态更新,形成第二表单页面,包括:
所述客户端将其存储的第一表单页面更新为所述第二表单页面。
4.如权利要求2所述的方法,其特征在于,所述动态信息为所述服务器对所述第一表单页面进行动态配置产生的动态配置信息;
所述客户端根据所述动态信息,对所述第一表单页面进行动态更新,形成第二表单页面,包括:
所述客户端根据所述动态配置信息,调用回调函数对所述客户端存储的所述第一表单页面进行修改,形成第二表单页面。
5.如权利要求1-4任一项所述的方法,其特征在于,所述客户端显示所述第二表单页面,以响应所述获取请求之后,还包括:
所述客户端根据用户在所述第二表单页面中的输入操作,向所述服务器提交所述第二表单页面的数据。
6.一种动态表单的实现方法,其特征在于,包括:
服务器根据数据库表结构生成第一表单页面,并向客户端发布所述第一表单页面;
所述服务器对所述第一表单页面进行动态配置,生成所述第一表单页面的动态信息;
所述服务器根据所述客户端的获取操作,向所述客户端返回所述第一表单页面的动态信息,以使所述客户端动态更新所述第一表单页面,形成第二表单页面,其中,所述客户端接收到表单页面的获取请求时向服务器查询第一表单页面是否存在动态信息;如果所述第一表单页面无动态信息,表明所述服务器向客户端发布所述第一表单页面之后未对所述第一表单页面进行动态配置,所述客户端则直接显示所述第一表单页面;如果所述第一表单页面存在动态信息,表明所述服务器向所述客户端发布所述第一表单页面之后对所述第一表单页面进行了动态配置,所述客户端则从所述服务器获取第一表单页面的动态信息。
7.如权利要求6所述的方法,其特征在于,所述服务器根据所述客户端的获取操作,向所述客户端返回所述第一表单页面的动态信息之后,还包括:
当接收到所述客户端提交的所述第二表单页面的数据时,所述服务器判断所述第二表单页面的结构相对于所述第一表单页面的结构是否发生变化;
若判断结果为是,所述服务器遍历所述第二表单页面的数据,修改所述服务器与所述客户端之间的协议内容。
8.一种客户端,其特征在于,包括:
动态获取模块,用于在接收到表单页面的获取请求时,从服务器获取第一表单页面的动态信息;其中,所述客户端接收到表单页面的获取请求时向服务器查询第一表单页面是否存在动态信息;如果所述第一表单页面无动态信息,表明所述服务器向客户端发布所述第一表单页面之后未对所述第一表单页面进行动态配置,所述客户端则直接显示所述第一表单页面;如果所述第一表单页面存在动态信息,表明所述服务器向所述客户端发布所述第一表单页面之后对所述第一表单页面进行了动态配置,所述动态获取模块则从所述服务器获取第一表单页面的动态信息;
动态更新模块,用于根据所述动态信息,对所述第一表单页面进行动态更新,形成第二表单页面;
响应模块,用于显示所述第二表单页面,以响应所述获取请求。
9.如权利要求8所述的客户端,其特征在于,还包括:
存储模块,用于存储服务器发布的第一表单页面。
10.如权利要求9所述的客户端,其特征在于,所述动态更新模块具体用于将所述存储模块存储的第一表单页面更新为所述第二表单页面;或者,用于根据所述动态配置信息,调用回调函数对所述存储模块存储的所述第一表单页面进行修改,形成第二表单页面;
其中,所述动态信息为所述服务器对所述第一表单页面进行动态配置形成的第二表单页面,或者,为所述服务器对所述第一表单页面进行动态配置产生的动态配置信息。
11.如权利要求8-10任一项所述的客户端,其特征在于,还包括:
提交模块,用于根据用户在所述第二表单页面中的输入操作,向所述服务器提交所述第二表单页面的数据。
12.一种服务器,其特征在于,包括:
发布模块,用于根据数据库表结构生成第一表单页面,并向客户端发布所述第一表单页面;
动态配置模块,用于对所述第一表单页面进行动态配置,生成所述第一表单页面的动态信息;
动态返回模块,用于所述客户端的获取操作,向所述客户端返回所述第一表单页面的动态信息,以使所述客户端动态更新所述第一表单页面,形成第二表单页面,其中,所述客户端接收到表单页面的获取请求时向服务器查询第一表单页面是否存在动态信息;如果所述第一表单页面无动态信息,表明所述服务器向客户端发布所述第一表单页面之后未对所述第一表单页面进行动态配置,所述客户端则直接显示所述第一表单页面;如果所述第一表单页面存在动态信息,表明所述服务器向所述客户端发布所述第一表单页面之后对所述第一表单页面进行了动态配置,所述客户端则从所述服务器获取第一表单页面的动态信息。
13.如权利要求12所述的服务器,其特征在于,还包括:
判断模块,用于当接收到所述客户端提交的所述第二表单页面的数据时,判断所述第二表单页面的结构相对于所述第一表单页面的结构是否发生变化;
处理模块,用于当判断结果为是时,遍历所述第二表单页面的数据,修改所述服务器与所述客户端之间的协议内容。
CN201210533786.4A 2012-12-12 2012-12-12 一种动态表单的实现方法、客户端及服务器 Active CN103870254B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210533786.4A CN103870254B (zh) 2012-12-12 2012-12-12 一种动态表单的实现方法、客户端及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210533786.4A CN103870254B (zh) 2012-12-12 2012-12-12 一种动态表单的实现方法、客户端及服务器

Publications (2)

Publication Number Publication Date
CN103870254A CN103870254A (zh) 2014-06-18
CN103870254B true CN103870254B (zh) 2018-10-09

Family

ID=50908827

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210533786.4A Active CN103870254B (zh) 2012-12-12 2012-12-12 一种动态表单的实现方法、客户端及服务器

Country Status (1)

Country Link
CN (1) CN103870254B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572098B (zh) * 2014-12-30 2018-10-12 北京奇虎科技有限公司 一种移动终端页面图表的更新方法和装置
CN105573765A (zh) * 2015-12-29 2016-05-11 武汉传神信息技术有限公司 一种动态表单的实现方法、客户端及服务器
CN107424033B (zh) * 2016-03-29 2021-06-18 阿里巴巴集团控股有限公司 一种组件渲染方法、页面显示方法、客户端、服务器以及存储介质
CN106445536B (zh) * 2016-09-28 2021-06-25 湛江市霞山区新软佳科技有限公司 自动化业务设计管理系统
CN107045442A (zh) * 2017-03-15 2017-08-15 武汉斗鱼网络科技有限公司 一种应用程序界面上功能按钮的开关控制方法和系统
CN107491301A (zh) * 2017-07-27 2017-12-19 北京奇安信科技有限公司 动态界面处理方法及装置
CN108182064A (zh) * 2017-12-01 2018-06-19 中国联合网络通信集团有限公司 动态表单实现方法及服务器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1755624A (zh) * 2004-09-30 2006-04-05 微软公司 基于web的数据表单
CN101165685A (zh) * 2006-10-19 2008-04-23 国际商业机器公司 用于生成动态网页的方法及装置
CN101661508A (zh) * 2009-09-29 2010-03-03 金蝶软件(中国)有限公司 一种应用于多技术平台的生成表单的方法及装置
CN102122281A (zh) * 2010-01-11 2011-07-13 腾讯科技(北京)有限公司 一种生成页面表单的方法、装置和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1755624A (zh) * 2004-09-30 2006-04-05 微软公司 基于web的数据表单
CN101165685A (zh) * 2006-10-19 2008-04-23 国际商业机器公司 用于生成动态网页的方法及装置
CN101661508A (zh) * 2009-09-29 2010-03-03 金蝶软件(中国)有限公司 一种应用于多技术平台的生成表单的方法及装置
CN102122281A (zh) * 2010-01-11 2011-07-13 腾讯科技(北京)有限公司 一种生成页面表单的方法、装置和系统

Also Published As

Publication number Publication date
CN103870254A (zh) 2014-06-18

Similar Documents

Publication Publication Date Title
CN103870254B (zh) 一种动态表单的实现方法、客户端及服务器
AU2016201889B2 (en) Methods and apparatus for translating forms to native mobile applications
US10146394B2 (en) Event listening integration in a collaborative electronic information system
US9661073B2 (en) Web browser synchronization with multiple simultaneous profiles
US20090327421A1 (en) Cross domain interaction of a Web application
CN104426925B (zh) 网页资源获取方法及装置
US20070260702A1 (en) Web browser architecture for virtual machine access
CN105786207B (zh) 信息输入方法和装置
US8682851B2 (en) Device specific folders for bookmark synchronization
CN112633691A (zh) 生成自定义审批流程的方法和装置
CN106686023A (zh) 一种流程设计方法、客户机、服务器侧装置及系统
DE112008003965T5 (de) Kombinieren von Schnittstellen von Shell-Anwendungen und Unteranwendungen
AU2013213683B2 (en) A method and system of application development for multiple device client platforms
CN106663013A (zh) 针对服务升级的动态调整步调
US9003433B2 (en) Off-premise and codeless process-centric business mashup to integrate BPEL based processes and web 2.0 widgets
CN106897336A (zh) 网页文件发送方法、网页渲染方法及装置、网页渲染系统
US20140280699A1 (en) Method and apparatus for enabling discovery and communications between unrelated browser sessions
CN107463563A (zh) 一种浏览器的信息服务处理方法及装置
CN106874519A (zh) 页面展现方法和装置
CN108595681A (zh) 用于表单展示的方法、装置及系统
US20210342407A1 (en) Data sharing tool for facilitating real-time access to current or updated datasets
CN107423342A (zh) 页面数据查询方法和装置
CN102004729A (zh) 一种网站网页的展现方法、系统及网站服务器
CN103870280B (zh) 基于flex与jsp的网页无缝结合处理方法
CN107943845A (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
GR01 Patent grant
GR01 Patent grant