CN103077185B - 一种基于对象的自定义扩展信息的方法 - Google Patents

一种基于对象的自定义扩展信息的方法 Download PDF

Info

Publication number
CN103077185B
CN103077185B CN201210549919.7A CN201210549919A CN103077185B CN 103077185 B CN103077185 B CN 103077185B CN 201210549919 A CN201210549919 A CN 201210549919A CN 103077185 B CN103077185 B CN 103077185B
Authority
CN
China
Prior art keywords
data
client
server end
solicited message
user
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
CN201210549919.7A
Other languages
English (en)
Other versions
CN103077185A (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.)
Xiamen Yaxon Networks Co Ltd
Original Assignee
Xiamen Yaxon Networks 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 Xiamen Yaxon Networks Co Ltd filed Critical Xiamen Yaxon Networks Co Ltd
Priority to CN201210549919.7A priority Critical patent/CN103077185B/zh
Publication of CN103077185A publication Critical patent/CN103077185A/zh
Application granted granted Critical
Publication of CN103077185B publication Critical patent/CN103077185B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及电子商务平台领域,具体涉及对表单进行自定义扩展处理的方法。一种基于对象的自定义扩展信息的方法,首先新建一个通用对象模板,该通用对象模板包括客户端和服务器端;其处理过程包括:步骤1:用户通过客户端输入数据;步骤2:客户端对用户输入的数据进行处理,该处理包括:将输入的数据分类为表单数据和请求信息;步骤3:服务器端对客户端发送来的数据进行处理,该处理包括接收客户端发来的数据,将接收来的数据进行分类、对分类数据使用JavaScript进行封装、对封装后的数据及数据形成的关联关系进行存储、处理用户提交的请求信息并将处理结果显示在客户端页面。本发明应用于在WEB技术中,提高对表单进行自定义扩展处理的效率。

Description

一种基于对象的自定义扩展信息的方法
技术领域
本发明涉及电子商务平台领域,具体涉及对表单进行自定义扩展处理的方法。
背景技术
如今,不管是在 WEB 应用程序,还是在本地应用程序中,数据表单都已经是一个非常重要的组成部分。它为用户提供可视化的交互界面,促进用户的输入,使得各种程序从用户那里收集数据成为可能,而用户的输入正是业务流程的关键所在,在实际情况中几乎所有软件系统的开发都需要创建一个或多个数据表单来展示数据并收集用户的输入。同时,在实际情况中,应用程序常常需要运行在各种不同类型的终端上,比如传统的 PC 机,以及各种移动终端等,这就需要对数据表单界面进行针对性的设计,从而使得开发人员需要为同一个数据表单界面设计并开发多个对应不同类型终端的版本,导致大量的重复设计工作,费时费力。因此,如何快速、高效地对数据表单进行描述及展现已成为开发人员关注的焦点。
在许多领域中,常使用XML来存储和传输数据信息。例如Web技术中的XForms,它被W3C组织制定为HTML表单的替代标准,其数据模型便以XML作为存储和操作数据的对象,并通过XML在网络上传输数据。XML是指可扩展标记语言(Extensible Markup Language),类似于HTML,它是一种标记语言。与主要用于表现和展示数据的 HTML 语言不同的是,XML被设计用来传送及携带数据。XML于1998年2月发布为W3C标准,已被广泛应用于信息存储和描述领域。围绕XML技术而实现的WEB技术,一般是通过将自定义的表单信息用XML标记语言进行描述、存储、解析,然后生成HTML表单。该技术虽然能直接描述HTML元素,但对表单元素的输入控制与内容合法验证、事件处理、组合表单元素的表达等都需要比较复杂的实现过程。
另外,对于客户端界面主要由JavaScript(简称:JS)代码动态生成的系统来说,采用上述的XML方式,实现复杂,效率也不高,且在要求动态生成的基础信息和自定义扩展信息在同一界面上显示时,需要较为复杂的处理。
例如一篇授权公告日为2012.01.11、授权公告号为CN 101661512 B的发明专利,公开了一种识别传统表单信息并创建对应 Web 表单的系统及方法,其方法主要包括以下步骤:(1)读入传统表单信息;(2)识别及分析;(3)修正与设定;(4)发送及存储;(5)解析。该方法重点在于将纸质的传统表单通过一系列处理转换成数字形式的Web表单,并不具备能自动适应用户应用需求变化的特点。
再例如申请公布日为2012.02.01、申请公布号为CN 102339314 A的发明专利,公开了一种基于XML的跨终端的数据表单描述与展现方法,该方法通过界面描述文件对数据表单界面的全局、局部样式,如颜色、字体、层次关系、对齐方式、换行方式等进行定义,对数据表单界面元素与数据字段间的绑定关系,如数据的类型、可见性、只读性、校检规则以及数据字段的编辑器类型等进行定义,针对不同类型的终端,实现特定的界面描述解析器,解析界面描述文件,获取对应终端上的数据表单界面的布局方式及数据绑定关系,通过一次定义界面描述文件,实现同一数据表单在不同终端上的不同界面展现形式。该方法只实现了界面的相对灵活性,后台业务数据的处理需要单独编码实现。当业务发生变化时,需要进行复杂的配置修改,同时后台数据的业务逻辑处理也需要修改大量代码。
再例如申请公布日为2012.04.25、申请公布号为CN 102426549 A的发明专利,公开了一种高效的 WEB 的表单校验方法及其框架,其通过配置文件转换插件,把服务器端校验规则配置文件(XML格式文件)一键转换成客户端校验规则配置文件(JSON格式文件),既负责服务器端的数据校验,又负责了客户端的数据校验,保证了服务器端和客户端校验规则的逻辑一致,从而消除了服务器端和客户端校验逻辑之间的不统一,并减小了重复开发工作量,提高了代码质量,提升了电子商务平台的性能和稳定性。该方法提出的数据校验也只适用于对用户输入内容的一般性规则验证,并且该方法设计的配置文件与业务相关,不适用于自定义表单。
发明内容
本发明所要解决的技术问题是,提供一种基于对象的自定义扩展信息的方法,充分结合当前流行的JavaScript对象技术,将自定义的表单字段按对象方式进行组织设计、定义、存储及查询显示,实现基础信息与用户自定义扩展信息的方便、快捷、灵活的统一展现,以解决现有技术之不足。
为了解决上述技术问题,本发明的一种基于对象的自定义扩展信息的方法,该方法中,首先新建一个通用对象模板,对该通用对象模板的对象属性(例如字段名称、类型编码、字段长度、关联数据表名称和关联字段名称、是否可见或必填等属性)进行设置,并将通用对象模板的信息以应用程序可识别的格式(例如JSON格式)存储为通用对象,再将通用对象存储至对象数据库中,应用程序加载该通用对象模板;该通用对象模板包括客户端和服务器端;其数据处理过程如下:
步骤1:用户通过客户端输入数据;
步骤2:客户端对用户输入的数据进行处理,该处理包括将输入的数据分类为表单数据和请求信息:对表单数据进行校验、将校验后的数据发送至服务器端;将请求信息发送至服务器端,并接收服务器端返回的处理结果;其中,校验是通过预先编写的校验文件进行校验,具体的,校验直接由相应的JS组件,结合自定义表单对象类型对应的正则表达式等特殊验证规则,对用户的操作进行控制和提示;
步骤3:服务器端对客户端发送来的数据进行处理,该处理包括接收客户端发来的数据,将接收来的数据进行分类、对分类数据使用JavaScript进行封装、对封装后的数据及数据形成的关联关系进行存储、处理用户提交的请求信息(例如查询、搜索)并将处理结果显示在客户端页面;其中,数据包括若干个数据元素,每个数据元素包括数据类型、数据内容和数据属性。
进一步的,为了提高表单的显示效率,建立二级缓存机制,即步骤3还包括解析客户端发送来的请求信息,并将解析后得到的处理结果进行缓存的步骤,具体过程如下:当服务器端接收到客户端发送的请求信息时,首先判断该请求信息是否是首次接收,如果是首次接收,则服务器端解析该请求信息并返回处理结果,然后对处理结果进行标记,同时存储到服务器端的缓存内;如果不是首次接收的请求信息,即之前有接收到同样的请求信息时,则服务器端直接从缓存内取出对应处理结果,并返回给客户端。
更进一步的,步骤2中客户端对用户输入的数据进行处理,还包括对服务器端返回的处理结果进行缓存的步骤,具体过程如下:当客户端发送请求信息时,首先判断该请求信息是否是首次发送,如果是首次发送,则将该请求信息发送至服务器端,等待服务器端返回处理结果,当接收到服务器端返回的处理结果时,客户端首先建立缓存对象哈希表,并将该处理结果存储进去;如果不是首次发送的请求信息,即之前有发送过同样的请求信息时,客户端直接读取缓存对象哈希表,并将该处理结果显示出来,不再需要发送请求至服务器端。该方案中,客户端为处理结果建立缓存对象哈希表,可大大减少客户端重复请求,加快显示效果。
其中,步骤3中,服务器端将接收来的数据进行分类,首先分为常规表单数据和用户自定义表单数据两大类;常规表单是客户端界面上原有的表单,常规表单数据是用户填写常规表单而获得的表单数据;用户自定义表单是客户端界面上没有的表单,用户扩展的自定义表单,用户自定义表单数据是用户填写该自定义表单而获得的表单数据。然后分别对常规表单数据和用户自定义表单数据再进行第二次分类,根据数据类型和数据内容细分为文本输入框(单行文本输入框/多行文本输入框)、数字输入框、电话传真输入框、日期、时间、单选按钮、单选下拉框、复选框。还可根据实际需要将表单数据进行组合。每个表单数据包含数据类型、数据内容(名称、内容等)和数据属性(是否可见、是否必填等)。
对分类数据使用JavaScript进行封装,具体是使用上述分类后,用JavaScript封装成面向对象的基础组件,同时包含了对各类数据的输入验证和控制、事件处理等。
对封装后的数据及数据形成的关联关系进行存储,包括对常规表单数据的存储和用户自定义表单数据的存储;其中对于常规表单数据的存储,是将数据类型和属性存储为一张表,将数据内容存储至另外一张表,并设置两张表之间的关联关系;对用户自定义表单数据的存储,具体过程如下:用户自定义表单数据包括扩展字段的界面展现结构数据和数据本身两部分。数据本身包括数据类型、数据内容和数据属性。其中界面展现结构数据的描述设计是关键,它影响到信息解析组装的复杂度和表单界面展现的速度。本方法中,每个自定义表单的字段的界面展现结构数据采用JavaScript对象方式,在数据库中以JSON格式的字符串形式进行存储,将该界面展现结构数据存储至一张表中,存储的内容主要包括字段名称、类型编码、字段长度、关联数据表名称和关联字段名称、是否可见或必填等属性信息;将每个字段的数据内容以字符形式存储与另一张表,两张表的字段信息采用相同的列名,并一一对应,两张表通过扩展信息对应基础表名和用户ID建立关联关系。扩展字段的数据记录通过基础数据记录的ID建立关联关系。通过这种特殊关系,在进行数据查询时可大大提高查询效率。
步骤3中,处理用户提交的请求信息并将处理结果显示在客户端页面,具体包括以下过程:
过程1:当客户端发送自定义扩展信息显示请求时,服务器端解析请求参数,根据基础表表名和用户ID获取对应结构信息记录;
过程2:自定义信息逻辑处理模块根据类型编码解析处理,并组装成客户端可直接使用的对象;
过程3:服务器将各对象进行组合,以JSON格式的字符串形式输出给客户端。这种格式数据易于理解和检查,非常有利于编码和测试;
过程4:客户端获取服务器的应答数据,将JSON格式字符串转换成对象,直接提取表单对象数组集合,使用JSON动态构建表单对象,通过封装的JavaScript组件的Form类的Add()方法,将扩展字段信息和基础表各字段按顺序添加到同一个表单的子集中;
过程5:客户端JavaScript组件对表单对象进行处理,根据子集对象的各种属性,动态创建HTML表单元素,按布局设置的字段顺序输出至页面。网页中基础字段和自定义字段以相同方式展现。
本发明采用了一种独特的JavaScript对象方式来描述自定义扩展信息,将客户端对象转换成JSON格式字符串存储在数据库中。应用时服务器获取数据后进行解析,直接按客户端表单对象对应的文档格式输出,客户端无需转换处理即可识别对象,并与基础表单一起集成。这种方法充分利用了JSON的特性,和XML格式存储和表现表单结构相比,既可减少数据传输量,提高传输效率,又可减少解析的复杂度,用JSON解析器可以快速解析。使用JSON动态构建表单对象,不必通过类来进行实例化,大大提高了编码效率和灵活度。该方法适用于由客户端脚本动态生成复杂生动的交互界面的Web管理系统,实现了基础表单与自定义扩展信息的无缝展现,大大增强了系统应用的灵活性,有效的满足了多用户在信息显示方面的个性化需求。而采用本方法中的基于对象的设计,充分利用JSON格式的特性,则可将自定义扩展信息以简单高效方式实现,并达到基础信息与自定义扩展信息的无缝集成显示效果。
另外,本发明只需一次编码(建立一个通用对象模板),通过修改通用对象模板的配置即可满足各种用户的个性化需求,大大减少了系统二次开发工作量;实现了业务基础信息和自定义扩展信息在界面上的无缝集成显示;将自定义扩展字段按客户端组件可直接识别的对象形式进行组织,以JSON格式存储和传输,既可减少数据传输量,提高传输效率,又可减少解析的复杂度。编码简单而且非常灵活。在表单数据查询中,通过巧妙的设计,针对客户端分页请求仅提取需要展现的基础信息对应的自定义字段数据,减少了解析过程和数据传输量,大大提高了服务器数据查询效率和客户端数据展现效率,增强用户体验效果。该方法与用XML格式存储自定义表单信息相比,更适用于客户端脚本动态生成复杂生动的交互界面的富客户端Web管理系统。
附图说明
图1是本发明的流程图。
具体实施方式
现结合附图和具体实施方式对本发明进一步说明。
本发明基于对象设计,充分利用JSON格式的特性,则可将自定义扩展信息以简单高效方式实现,并达到基础信息与自定义扩展信息的无缝集成显示效果。其设计思路如下:
1.1 首先新建一个表单自定义字段设计器(通用对象模板),对该表单自定义字段设计器的对象属性进行设置,并将其信息以JOSN格式存储为通用对象,再将通用对象存储至对象数据库中,应用程序加载该通用对象模板;该表单自定义字段设计器包括客户端的处理程序和服务器端的处理程序。该表单自定义字段设计器,可灵活扩展当前业务,满足多用户的个性化需求。用户根据业务需要,可在基础表单已实现的字段基础上,定义其他非同名的字段。字段类型可以为文本输入框(单行文本输入框/多行文本输入框)、数字输入框、电话传真输入框、日期、时间、单选按钮、单选下拉框、复选框等。对于复杂业务,可设计独立的组件类型供用户选择。可调整各字段的排列顺序进行表单布局设置。用户设置完自定义字段信息后,系统会根据不同字段类型,按系统设计的对象格式,将每个字段对应的类型和属性信息存储于自定义字段数据结构表中。对象的内容主要包括字段名称、类型编码、字段长度、关联数据表名称和关联字段名称、是否可见或必填等属性信息。
自定义字段数据结构表的设计如下表:
1.2 然后在客户端封装一系列JS组件,通过脚本操作DOM来实现页面的效果显示,包括HTML的表单元素的动态创建、事件处理、输入控制和验证、对象的访问等。结合样式表将服务器组织的自定义字段对象和基础信息字段一起处理生成可视化的网页界面。基础字段通过客户端已实现的脚本实现,而自定义字段从服务器端动态获取,但都是以基本相同的对象方式,通过JS组件识别处理。客户端对用户输入的数据进行处理,该处理包括对数据进行校验、将校验后的数据提交至服务器端;其中,校验直接由相应的JS组件,结合自定义表单对象类型对应的正则表达式等特殊验证规则,对用户的操作进行控制和提示。
1.3 服务器对客户端发送的信息请求进行处理,过程如下:请求包括三类:表单的新增和编辑界面信息请求,列表数据查询请求,以及客户端提交的表单数据存储请求。同样的,针对不同的请求有相应的三种处理方式。对界面请求,服务器会根据用户设计的自定义字段,按类型组织成不同对象,以JSON格式返回给客户端。对列表数据查询请求,服务器通过数据库中建立的关系,仅提取处理满足条件且需输出到客户端当前页的记录。对客户端提交的表单数据,服务器根据自定义字段的特殊标识,存储到专用的自定义字段数据记录表中。其中,服务器对客户端提交的表单数据存储请求,根据字段标识分为基础字段和自定义字段两类,基础字段采用常规业务处理,根据业务规则进行编码,将数据存储至对应的业务数据表,而自定义字段则可根据其标识,调用通用组件,存储在通用的自定义数据记录表,两者通过基础业务数据表中记录的ID关联。自定义字段数据记录表结构如下表:
对1.3中的列表数据查询请求,客户端采用分页处理,服务器会根据当前请求的页序号和页面需要显示记录数,根据基础字段的检索结果,通过基础表的记录ID关联到自定义数据记录表,直接提取符合条件的记录,并根据数据记录表与结构信息表的关联关系(通过表单名称和用户ID建立关联关系),获取对应自定义字段的类型和属性信息,解析得到实际在界面中需要显示的值,按JSON格式组织后输出至客户端。这种方法一方面减少了需要解析的自定义数据记录量,即减少了解析过程,另一方面减少了通讯传输的数据量,从而大大提高了查询效率,增强了用户体验效果。
1.3中的界面信息请求处理,具体包括以下5个过程:
过程1:当客户端发送自定义扩展信息显示请求时,服务器端解析请求参数,根据基础表表名和用户ID获取对应结构信息记录;
过程2:自定义信息逻辑处理模块根据类型编码解析处理,并组装成客户端可直接使用的对象;
过程3:服务器将各对象进行组合,以JSON格式的字符串形式输出给客户端。这种格式数据易于理解和检查,非常有利于编码和测试;
过程4:客户端获取服务器的应答数据,将JSON格式字符串转换成对象,直接提取表单对象数组集合,使用JSON动态构建表单对象,通过封装的JavaScript组件的Form类的Add()方法,将扩展字段信息和基础表各字段按顺序添加到同一个表单的子集中;
各个表单对象编码类似下面格式:
{
xtype: 'textfield',
fieldLabel: '姓名',
name: 'Item1',
allowBlank: false
},{
xtype: 'radiogroup',
fieldLabel: '性别',
items: [
{ boxLabel: '男', name: 'Item2',inputValue: 1 },
{ boxLabel: '女', name: 'Item2',inputValue: 2, checked: true }
]
},{ xtype: 'datefield',
name: 'Item3',
fieldLabel: '日期',
format: 'Y-m-d'
}
过程5:客户端JavaScript组件对表单对象进行处理,根据子集对象的各种属性,动态创建HTML表单元素,按布局设置的字段顺序输出至页面。网页中基础字段和自定义字段以相同方式展现。
基于上述设计,本发明的一种基于对象的自定义扩展信息的方法,如图1所示,首先新建一个通用对象模板,对该通用对象模板的对象属性(例如字段名称、类型编码、字段长度、关联数据表名称和关联字段名称、是否可见或必填等属性)进行设置,并将通用对象模板的信息以JSON格式存储为通用对象,再将通用对象存储至对象数据库中,应用程序加载该通用对象模板;该通用对象模板包括客户端和服务器端;其数据处理过程包括以下内容:
步骤1:用户通过客户端输入数据;
步骤2:客户端对用户输入的数据进行处理,该处理包括将输入的数据分类为表单数据和请求信息,对表单数据进行校验、将校验后的数据发送至服务器端;将请求信息发送至服务器端,并接收服务器端返回的处理结果;其中,校验是通过预先编写的校验文件进行校验;
步骤3:服务器端对客户端发送来的数据进行处理,该处理包括接收客户端发来的数据,将接收来的数据进行分类、对分类数据使用JavaScript进行封装、对封装后的数据及数据形成的关联关系进行存储、处理用户提交的请求信息(例如查询、搜索)并将处理结果显示在客户端页面;其中,数据包括若干个数据元素,每个数据元素包括数据类型、数据内容和数据属性。
为了提高表单的显示效率,建立二级缓存机制,即步骤3还包括解析客户端发送来的请求信息,并将解析后得到的处理结果进行缓存的步骤,具体过程如下:当服务器端接收到客户端发送的请求信息(例如表单结构信息查询请求)时,首先判断该请求信息是否是首次接收,如果是首次接收,则服务器端解析该请求信息并返回处理结果(例如对应表单结构信息),然后对处理结果进行标记,同时存储到服务器端的缓存内;如果不是首次接收的请求信息,即之前有接收到同样的请求信息时,则服务器端直接从缓存内取出对应处理结果,并返回给客户端。
同样的,步骤2中客户端对用户输入的数据进行处理,还包括对服务器端返回的处理结果进行缓存的步骤,具体过程如下:当客户端发送请求信息时,首先判断该请求信息是否是首次发送,如果是首次发送,则将该请求信息发送至服务器端,等待服务器端返回处理结果,当接收到服务器端返回的处理结果时,客户端首先建立缓存对象哈希表,并将该处理结果存储进去;如果不是首次发送的请求信息,即之前有发送过同样的请求信息时,客户端直接读取缓存对象哈希表,并将该处理结果显示出来,不再需要发送请求至服务器端。该方案中,客户端为处理结果建立缓存对象哈希表,可大大减少客户端重复请求,加快显示效果。
其中,步骤3中,服务器端对接收来的数据进行第一次分类,首先分为常规表单数据和用户自定义表单数据两大类;常规表单是客户端界面上原有的表单,常规表单数据是用户填写常规表单而获得的表单数据;用户自定义表单是客户端界面上没有的表单,用户扩展的自定义表单,用户自定义表单数据是用户填写该自定义表单而获得的表单数据。然后分别对常规表单数据和用户自定义表单数据再进行第二次分类,根据数据类型和数据内容细分为文本输入框(单行文本输入框/多行文本输入框)、数字输入框、电话传真输入框、日期、时间、单选按钮、单选下拉框、复选框等。还可根据实际需要将表单数据进行组合。每个表单数据包含数据类型、数据内容(名称、内容等)和数据属性(是否可见、是否必填等)。
对分类数据使用JavaScript进行封装,具体是使用上述分类后,用JavaScript封装成面向对象的基础组件,同时包含了对各类数据的输入验证和控制、事件处理等。
对封装后的数据及数据形成的关联关系进行存储,包括对常规表单数据的存储和用户自定义表单数据的存储;其中对于常规表单数据的存储,是将数据类型和属性存储为一张表,将数据内容存储至另外一张表,并设置两张表之间的关联关系;对用户自定义表单数据的存储,具体过程如下:用户自定义表单数据包括扩展字段的界面展现结构数据和数据本身两部分。数据本身包括数据类型、数据内容和数据属性。其中界面展现结构数据的描述设计是关键,它影响到信息解析组装的复杂度和表单界面展现的速度。本方法中,每个自定义表单的字段的界面展现结构数据采用JavaScript对象方式,在数据库中以JSON格式的字符串形式进行存储,将该界面展现结构数据存储至一张表中,存储的内容主要包括字段名称、类型编码、字段长度、关联数据表名称和关联字段名称、是否可见或必填等属性信息;将每个字段的数据内容以字符形式存储与另一张表,两张表的字段信息采用相同的列名,并一一对应,两张表通过扩展信息对应基础表表名和用户ID建立关联关系。扩展字段的数据记录通过基础表数据记录的ID建立关联关系。通过这种特殊关系,在进行数据查询时可大大提高查询效率。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。

Claims (4)

1.一种基于对象的自定义扩展信息的方法,首先新建一个通用对象模板,对该通用对象模板的对象属性进行设置,并将通用对象模板的信息以应用程序可识别的格式存储为通用对象,再将通用对象存储至对象数据库中,应用程序加载该通用对象模板;该通用对象模板包括客户端和服务器端;其数据处理过程包括:
步骤1:用户通过客户端输入数据;
步骤2:客户端对用户输入的数据进行处理,该处理包括将输入的数据分类为表单数据和请求信息:对表单数据进行校验、将校验后的数据发送至服务器端;将请求信息发送至服务器端,并接收服务器端返回的处理结果;其中,校验是通过预先编写的校验文件进行校验;
步骤3:服务器端对客户端发送来的数据进行处理,该处理包括接收客户端发来的数据,将接收来的数据进行分类、对分类数据使用JavaScript进行封装、对封装后的数据及数据形成的关联关系进行存储、处理用户提交的请求信息并将处理结果显示在客户端页面;其中,数据包括若干个数据元素,每个数据元素包括数据类型、数据内容和数据属性;
步骤3中,服务器端将接收来的数据进行分类,首先分为常规表单数据和用户自定义表单数据两大类;然后分别对常规表单数据和用户自定义表单数据再进行第二次分类,具体是根据数据类型和数据内容来划分;
对分类数据使用JavaScript进行封装,具体是使用上述分类后,用JavaScript封装成面向对象的基础组件,同时包含了对各类数据的输入验证和控制、事件处理;
对封装后的数据及数据形成的关联关系进行存储,包括对常规表单数据的存储和用户自定义表单数据的存储;其中对于常规表单数据的存储,是将数据类型和属性存储为一张表,将数据内容存储至另外一张表,并设置两张表之间的关联关系;对用户自定义表单数据的存储,具体过程如下:
过程1:用户自定义表单数据包括扩展字段的界面展现结构数据和数据本身两部分;数据本身包括数据类型、数据内容和数据属性;将每个自定义表单的字段的界面展现结构数据采用JavaScript对象方式,在数据库中以JSON格式的字符串形式进行存储,将该界面展现结构数据存储至一张表中;
过程2:将每个字段的数据内容以字符形式存储与另一张表;两张表的字段信息采用相同的列名,并一一对应;
过程3:两张表建立关联关系:具体是通过扩展信息对应主表表名和用户ID建立关联关系,扩展字段的数据记录通过主表数据记录的ID建立关联关系。
2.根据权利要求1所述的一种基于对象的自定义扩展信息的方法,其特征在于:步骤3中服务器端对客户端发送来的数据进行处理,还包括解析客户端发送来的请求信息,并将解析后得到的处理结果进行缓存的步骤,具体过程如下:当服务器端接收到客户端发送的请求信息时,首先判断该请求信息是否是首次接收,如果是首次接收,则服务器端解析该请求信息并返回处理结果,然后对处理结果进行标记,同时存储到服务器端的缓存内;如果不是首次接收的请求信息,即之前有接收到同样的请求信息时,则服务器端直接从缓存内取出对应处理结果,并返回给客户端。
3.根据权利要求2所述的一种基于对象的自定义扩展信息的方法,其特征在于:步骤2中客户端对用户输入的数据进行处理,还包括对服务器端返回的处理结果进行缓存的步骤,具体过程如下:当客户端发送请求信息时,首先判断该请求信息是否是首次发送,如果是首次发送,则将该请求信息发送至服务器端,等待服务器端返回处理结果,当接收到服务器端返回的处理结果时,客户端首先建立缓存对象哈希表,并将该处理结果存储进去;如果不是首次发送的请求信息,即之前有发送过同样的请求信息时,客户端直接读取缓存对象哈希表,并将该处理结果显示出来。
4.根据权利要求1所述的一种基于对象的自定义扩展信息的方法,其特征在于:步骤3中,处理用户提交的请求信息并将处理结果显示在客户端页面,具体包括以下过程:
过程1:当客户端发送自定义扩展信息显示请求信息时,服务器端解析请求信息参数,根据基础表表名和用户ID获取对应结构信息记录;
过程2:根据类型编码解析处理,并组装成客户端可直接使用的JavaScript对象;
过程3:服务器端将各JavaScript对象进行组合,以JSON格式的字符串形式输出给客户端;
过程4:客户端获取服务器端的应答数据,将JSON格式字符串转换成对象,直接提取表单对象数组集合,使用JSON动态构建表单对象,通过封装的JavaScript组件将扩展字段信息和基础表各字段添加到同一个表单的子集中;
过程5:客户端JavaScript组件对表单对象进行处理,根据子集对象的各种属性,动态创建HTML表单元素,按布局设置的字段顺序输出至页面。
CN201210549919.7A 2012-12-18 2012-12-18 一种基于对象的自定义扩展信息的方法 Active CN103077185B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210549919.7A CN103077185B (zh) 2012-12-18 2012-12-18 一种基于对象的自定义扩展信息的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210549919.7A CN103077185B (zh) 2012-12-18 2012-12-18 一种基于对象的自定义扩展信息的方法

Publications (2)

Publication Number Publication Date
CN103077185A CN103077185A (zh) 2013-05-01
CN103077185B true CN103077185B (zh) 2017-09-29

Family

ID=48153715

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210549919.7A Active CN103077185B (zh) 2012-12-18 2012-12-18 一种基于对象的自定义扩展信息的方法

Country Status (1)

Country Link
CN (1) CN103077185B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110717735A (zh) * 2019-10-11 2020-01-21 上海管和信息科技有限公司 一种电子商务系统及其方法

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239014A (zh) * 2013-06-18 2014-12-24 上海联影医疗科技有限公司 多语言信息分类处理方法及其处理系统
CN103488730A (zh) * 2013-09-17 2014-01-01 佛山市明睿达科技有限公司 网站业务系统数据上传导出方法、以及实现其方法的系统
CN104462131A (zh) * 2013-09-23 2015-03-25 阿里巴巴集团控股有限公司 信息发布页面的处理方法及装置
CN104714985B (zh) * 2013-12-17 2018-07-24 远光软件股份有限公司 一种提升表单审批效率的方法及装置
US9853956B2 (en) 2014-02-11 2017-12-26 Texas Instruments Incorporated JSON encryption and hashing with indication added to key-value
CN105302814A (zh) * 2014-06-20 2016-02-03 苏州精易会信息技术有限公司 一种存储多个自定义字段的方法和系统
CN104679880A (zh) * 2015-03-13 2015-06-03 朱浩晔 动态输入项及其业务数据的动态存储与展现的装置以及方法
CN105116841A (zh) * 2015-06-29 2015-12-02 贵州桂荣科技有限公司 一种外加式电子手环组装设备控制系统
CN104950814A (zh) * 2015-06-29 2015-09-30 贵州桂荣科技有限公司 一种外加式电子手环组装设备自动控制系统
CN105825066B (zh) * 2016-03-25 2019-04-19 东华软件股份公司 一种电子病历生成方法及装置
CN105956109B (zh) * 2016-05-04 2019-11-08 北京思特奇信息技术股份有限公司 一种消息实时动态夹带推送方法及系统
CN107656910A (zh) * 2016-07-26 2018-02-02 北京京东尚科信息技术有限公司 用于生成表单的方法和装置
CN106250436A (zh) * 2016-07-26 2016-12-21 东软集团股份有限公司 管理表单数据的方法及装置
CN106294760B (zh) * 2016-08-11 2020-02-14 东软集团股份有限公司 表单处理方法及服务器、客户端
CN106446024B (zh) * 2016-08-30 2020-06-23 东软集团股份有限公司 自动生成数据模型的方法和装置
CN107526755B (zh) * 2016-09-27 2020-11-03 腾讯科技(深圳)有限公司 数据的处理方法及装置
CN107967655B (zh) * 2016-10-20 2022-02-01 南京途牛科技有限公司 数据资源模型建立方法及装置
CN107995153B (zh) * 2016-10-27 2021-01-05 腾讯科技(北京)有限公司 表单数据验证方法及表单数据验证装置
CN107133313A (zh) * 2017-05-02 2017-09-05 山东浪潮通软信息科技有限公司 实现可配置的查询页面的方法及系统、服务端、客户端
CN107368376B (zh) * 2017-05-31 2021-02-05 无锡雅座在线科技股份有限公司 消息发送方法及装置、扩展方法、终端
CN107301044B (zh) * 2017-06-09 2021-02-19 广州慧扬健康科技有限公司 用于代谢病电子病历表单的多页控件
CN107423367B (zh) * 2017-06-29 2020-11-10 北京五八信息技术有限公司 Web页面加载方法及装置
CN107423061A (zh) * 2017-07-12 2017-12-01 江苏速度信息科技股份有限公司 一种基于ison数据的表单生成方法
CN108345682A (zh) * 2018-03-02 2018-07-31 弘成科技发展有限公司 基于多租户可配置的导入导出平台及方法
CN110472207A (zh) * 2018-05-10 2019-11-19 北京京东尚科信息技术有限公司 表单生成方法和装置
CN110489130B (zh) * 2018-05-31 2021-01-08 北京数聚鑫云信息技术有限公司 一种基于客户端的业务数据提取方法及装置
CN109062870A (zh) * 2018-06-29 2018-12-21 平安科技(深圳)有限公司 服务器、业务数据校验的方法及存储介质
CN110489409B (zh) * 2018-09-14 2020-06-23 北京数聚鑫云信息技术有限公司 一种动态扩展数据字段的方法及装置
CN109558575B (zh) * 2018-10-25 2024-03-29 平安科技(深圳)有限公司 在线表格编辑方法、装置、计算机设备及存储介质
CN110851119A (zh) * 2019-10-21 2020-02-28 杭州米圈科技有限公司 一种SaaS软件产品自定义对象与对象关联的实现方法
CN111045685A (zh) * 2019-11-05 2020-04-21 贝壳技术有限公司 代码转换方法、装置、存储介质及电子设备
CN111061787A (zh) * 2019-11-21 2020-04-24 新浪网技术(中国)有限公司 一种关系型数据库中对象关系的处理方法及系统
CN111078219B (zh) * 2019-12-13 2023-10-03 北京金山云网络技术有限公司 页面显示方法、装置、系统、电子设备及存储介质
CN111611011B (zh) * 2020-04-13 2023-01-13 中国科学院计算机网络信息中心 一种支持Blob数据类型的JSON语法扩展方法和解析方法及装置
CN112001156A (zh) * 2020-07-29 2020-11-27 中国银联股份有限公司 一种表单处理方法、装置及计算机可读存储介质
CN111813999B (zh) * 2020-08-13 2024-01-05 广州科创空间信息科技有限公司 一种提高以太坊智能合约字段扩展性的方法
CN111966685B (zh) * 2020-08-17 2024-02-20 江苏百达智慧网络科技有限公司 业务模块扩展实现方法和系统
CN112202905B (zh) * 2020-10-09 2023-02-17 杭州安恒信息技术股份有限公司 一种信息存储方法、装置、设备及计算机可读存储介质
CN113626644B (zh) * 2021-08-31 2024-03-15 北京中电普华信息技术有限公司 业务流程数据的格式转换方法和装置
CN117008838A (zh) * 2021-12-28 2023-11-07 上海右云信息技术有限公司 一种用于存储自定义数据信息的方法与设备
CN114461685B (zh) * 2022-04-14 2022-07-01 天津南大通用数据技术股份有限公司 一种灵活扩展数据库字段的方法
CN115640952B (zh) * 2022-08-29 2023-09-26 格莱杰(深圳)科技有限公司 一种数据导入上传的方法及系统
CN115828855B (zh) * 2022-11-01 2023-09-15 江苏领悟信息技术有限公司 一种自定义表单系统和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6093215A (en) * 1997-08-12 2000-07-25 International Business Machines Corporation Method and apparatus for building templates in a component system
CN1808436A (zh) * 2006-02-13 2006-07-26 无锡永中科技有限公司 基于对象存储库的自定义对象的处理方法
CN101694618A (zh) * 2009-09-01 2010-04-14 卡斯柯信号有限公司 适用于ajax框架的模型层与视图层数据自动映射方法
CN102426549A (zh) * 2011-09-08 2012-04-25 新一站保险代理有限公司 一种高效的Web的表单校验方法及其框架

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6093215A (en) * 1997-08-12 2000-07-25 International Business Machines Corporation Method and apparatus for building templates in a component system
CN1808436A (zh) * 2006-02-13 2006-07-26 无锡永中科技有限公司 基于对象存储库的自定义对象的处理方法
CN101694618A (zh) * 2009-09-01 2010-04-14 卡斯柯信号有限公司 适用于ajax框架的模型层与视图层数据自动映射方法
CN102426549A (zh) * 2011-09-08 2012-04-25 新一站保险代理有限公司 一种高效的Web的表单校验方法及其框架

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110717735A (zh) * 2019-10-11 2020-01-21 上海管和信息科技有限公司 一种电子商务系统及其方法

Also Published As

Publication number Publication date
CN103077185A (zh) 2013-05-01

Similar Documents

Publication Publication Date Title
CN103077185B (zh) 一种基于对象的自定义扩展信息的方法
CN104185845B (zh) 用于提供网页的二进制表示的系统和方法
US20050144556A1 (en) XML schema token extension for XML document compression
CN110889270B (zh) 一种表单页面文档生成方法、表单页面渲染方法及装置
US8549497B2 (en) High-level hypermedia synthesis for adaptive web
US7870221B2 (en) Multiple bindings in web service data connection
Skonnard et al. Essential XML quick reference
US20040221233A1 (en) Systems and methods for report design and generation
CN100389572C (zh) 一种远程调用通信组件的系统及方法
US20020129059A1 (en) XML auto map generator
CN104714982A (zh) 一种网页的加载方法和系统
CN110688307B (zh) JavaScript代码检测方法、装置、设备和存储介质
CN108694214A (zh) 数据报表的生成方法、生成装置、可读介质及电子设备
CN102831190B (zh) 一种在低端设备上浏览cml文件的方法
CN103176778B (zh) 网页开发方法和装置
CN104063401A (zh) 一种网页样式地址合并的方法和装置
CN102622219A (zh) 对动态调用服务的执行结果进行渲染的方法、装置及系统
CN112463152A (zh) 一种基于ast的网页适配方法及装置
CN110020358A (zh) 用于生成动态页面的方法和装置
US20020174099A1 (en) Minimal identification
CN101617307B (zh) 编解码设备和方法
CN103885988B (zh) 输出内容的方法及装置、内容输出系统
KR100453224B1 (ko) 유/무선 인터넷을 이용한 수식 기호 편집장치 및 방법
Frost Learning WML & WMLScript
CN108733353B (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