CN106843901B - 一种页面渲染和验证的方法和装置 - Google Patents

一种页面渲染和验证的方法和装置 Download PDF

Info

Publication number
CN106843901B
CN106843901B CN201710072998.XA CN201710072998A CN106843901B CN 106843901 B CN106843901 B CN 106843901B CN 201710072998 A CN201710072998 A CN 201710072998A CN 106843901 B CN106843901 B CN 106843901B
Authority
CN
China
Prior art keywords
service
page
derived
configuration file
general
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
CN201710072998.XA
Other languages
English (en)
Other versions
CN106843901A (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.)
Alibaba China Co Ltd
Original Assignee
Guangzhou Uc Network 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 Guangzhou Uc Network Technology Co ltd filed Critical Guangzhou Uc Network Technology Co ltd
Priority to CN201710072998.XA priority Critical patent/CN106843901B/zh
Publication of CN106843901A publication Critical patent/CN106843901A/zh
Priority to US15/894,317 priority patent/US10684826B2/en
Application granted granted Critical
Publication of CN106843901B publication Critical patent/CN106843901B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明提供了一种页面渲染和验证的方法和装置。所述方法包括:基于初始业务页面和衍生业务页面之间的异同,提取通用业务配置和衍生业务配置;将通用业务配置进行封装,同时将一种或多种衍生业务配置分出各自的属性逻辑和验证逻辑并且各自分别封装,其中将通用业务的封装和衍生业务的封装分别保存至相应的页面配置文件中;根据用户选择的衍生业务类型将对应的页面配置文件加载到通用业务的页面配置文件中,并在通用业务的页面配置文件中绑定一个表单验证方法;渲染过程中先加载通用业务数据再加载衍生业务数据,页面提交时先校验通用业务数据,然后校验衍生业务数据。

Description

一种页面渲染和验证的方法和装置
技术领域
本发明涉及信息处理技术领域,具体而言涉及一种页面渲染和验证的方法和装置。
背景技术
在初始业务页面根据不同业务场景不断演变的过程中,该页面的开发往往需要针对业务进行相应的调整,每种衍生业务之间除了通用的配置外还存在着一些较小的差异,这些较小的差异还不足触发将该衍生业务变为独立业务的条件,故在开发实现上往往将衍生业务差异的渲染及输入验证逻辑添加至该初始业务页面,导致该页面JavaScript过于臃肿,不利于后续人员调试和维护
若采用与上述相反的开发方式,每种衍生业务独立新增和维护衍生业务页面渲染及输入验证逻辑则会产生大量重复代码,在更改通用业务配置时则需修改多个文件,往往会遗漏或产生错误,同时带来更多的重复功能的测试工作量。
发明内容
本发明的目的在于提供一种页面渲染和验证的方法和装置,以改善上述技术问题。
本发明实施例提供了一种页面渲染和验证的方法,其包括:
S1)基于初始业务页面和衍生业务页面之间的异同,提取通用业务配置和衍生业务配置;
S2)将通用业务配置进行封装,同时将一种或多种衍生业务配置分出各自的属性逻辑和验证逻辑并且各自分别封装,其中将通用业务的封装和衍生业务的封装分别保存至相应的页面配置文件中,并且每一种衍生业务对应一个页面配置文件;
S3)根据用户选择的衍生业务类型将对应的页面配置文件加载到通用业务的页面配置文件中,并在通用业务的页面配置文件中绑定一个表单验证方法;
S4)渲染过程中先加载通用业务数据再加载衍生业务数据,页面提交时先校验通用业务数据,然后校验衍生业务数据。
优选的,在步骤S1中,将初始业务页面和衍生业务页面之间相同的业务数据提取为通用业务配置数据,将衍生业务页面不同于初始业务页面的业务数据提取为衍生业务配置数据。
优选的,在步骤S2中,将通用业务配置封装在$(document).ready初始化方法里并且将该初始化方法和通用业务配置信息一起保存在第一页面配置文件中,将一个衍生业务配置的属性逻辑封装在$(document).ready方法里,将该衍生业务配置的验证逻辑封装在jQuery.validation验证方法,并且将该衍生业务配置的属性逻辑信息和初始化方法、验证逻辑信息和验证方法一起保存在第二页面配置文件中,在有多种衍生业务时以此方式将每种衍生业务的属性逻辑信息和初始化方法、验证逻辑信息和验证方法一起保存在各自对应的页面配置文件中。
优选的,在步骤S3中,使用页面标签语言判断用户选择的衍生业务类型,根据不同衍生业务类型将对应的页面配置文件加载到通用业务的页面配置文件中,在通用业务的页面配置文件中在表单提交按钮上绑定表单验证方法,该表单验证方法在处理通用业务数据验证后执行衍生业务配置的验证逻辑。
优选的,在步骤S4中,首先加载通用业务的页面配置文件中保存的初始化方法,然后执行衍生业务的页面配置文件中保存的初始化方法,在页面提交时先校验通用业务数据的有效性,然后根据加载到通用业务的页面配置文件中的衍生业务的页面配置文件中保存的验证方法来校验与其对应的衍生业务数据的有效性。
本发明实施例还提供了一种页面渲染和验证的装置,其包括:
业务配置提取单元,用于基于初始业务页面和衍生业务页面之间的异同,提取通用业务配置和衍生业务配置;
封装和保存单元,用于将通用业务配置进行封装,同时将一种或多种衍生业务配置分出各自的属性逻辑和验证逻辑并且各自分别封装,其中将通用业务的封装和衍生业务的封装分别保存至相应的页面配置文件中,并且每一种衍生业务对应一个页面配置文件;
加载和绑定单元,用于根据用户选择的衍生业务类型将对应的页面配置文件加载到通用业务的页面配置文件中,并在通用业务的页面配置文件中绑定一个表单验证方法;
渲染和验证单元,用于渲染过程中先加载通用业务数据再加载衍生业务数据,页面提交时先校验通用业务数据,然后校验衍生业务数据。
优选的,所述业务配置提取单元用于将初始业务页面和衍生业务页面之间相同的业务数据提取为通用业务配置数据,将衍生业务页面不同于初始业务页面的业务数据提取为衍生业务配置数据。
优选的,所述封装和保存单元用于将通用业务配置封装在$(document).ready初始化方法里并且将该初始化方法和通用业务配置信息一起保存在第一页面配置文件中,将一个衍生业务配置的属性逻辑封装在$(document).ready方法里,将该衍生业务配置的验证逻辑封装在jQuery.validation验证方法,并且将该衍生业务配置的属性逻辑信息和初始化方法、验证逻辑信息和验证方法一起保存在第二页面配置文件中,在有多种衍生业务时以此方式将每种衍生业务的属性逻辑信息和初始化方法、验证逻辑信息和验证方法一起保存在各自对应的页面配置文件中。
优选的,所述加载和绑定单元使用页面标签语言判断用户选择的衍生业务类型,根据不同衍生业务类型将对应的页面配置文件加载到通用业务的页面配置文件中,在通用业务的页面配置文件中在表单提交按钮上绑定表单验证方法,该表单验证方法在处理通用业务数据验证后执行衍生业务配置的验证逻辑。
优选的,所述渲染和验证单元用于首先加载通用业务的页面配置文件中保存的初始化方法,然后执行衍生业务的页面配置文件中保存的初始化方法,在页面提交时先校验通用业务数据的有效性,然后根据加载到通用业务的页面配置文件中的衍生业务的页面配置文件中保存的验证方法来校验与其对应的衍生业务数据的有效性。
根据本发明的页面渲染和验证的方法和装置,将通用业务和衍生业务分开,将属性逻辑和验证逻辑剥离开,可以解决下面问题:
1.避免衍生业务复用方案中多方业务逻辑集成在同个页面,有利于后续人员维护;
2.避免衍生业务独立方案中对应业务页面间存在大量重复代码,修改通用属性时容易遗漏,从而减少测试人员的繁重测试工作量;
3.避免最终输出至浏览器的html及JavaScript代码过于臃肿,有利于开发人员调试。
附图说明
图1是本发明提供的一种页面渲染和验证的方法的流程图;
图2是本发明提供的一种页面渲染和验证的装置的示意框图。
具体实施方式
下面将结合本发明实施例和附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明提供的一种页面渲染和验证的方法的流程图。如图1所示,本发明的页面渲染和验证的方法包括以下步骤:
S1)基于初始业务页面和衍生业务页面之间的异同,提取通用业务配置和衍生业务配置。
应用程序的开发商经常对应用程序进行版本升级,这些升级除了修补存在的bug之外,更多情况是给应用程序扩展更多的新功能。这样,初始版本显示的页面与具有扩展功能的升级版本显示的页面就存在着相同内容和不同内容。本发明实施例提供的方法的第一步就是基于初始业务页面和衍生业务页面之间的异同,提取通用业务配置和衍生业务配置。具体而言,将初始业务页面和衍生业务页面之间相同的业务数据提取为通用业务配置数据,将衍生业务页面不同于初始业务页面的业务数据提取为衍生业务配置数据。
下面通过一个具体例子来详细介绍。
初始版本提供的初始业务:普通消息推送,该推送需填写的内容如下:
消息样式、消息通道、应用消息直接下载、所属应用、应用是否静默下载、有效起始时间、有效结束时间、纯图上传、消息名称、主标题、消息正文、辅标题、生效时间、防干扰时间、推送内容类型、跳转类型、指定返回页面、下发渠道、客户端版本、预约推送时间。
当升级后的新版本在初始业务的基础上推出衍生业务时,该衍生业务推出新功能:专题消息:专题投放人群;则该衍生业务所衍生的配置:定向人群消息:定向投放人群、发布设置,定向用户消息:上传人群文件、是否弹窗。即,升级后的新版本除了初始业务需要填写的内容之外,还要包括衍生业务给出的业务配置。
这样针对新版本的业务页面渲染,首先需要将初始业务页面和衍生业务页面之间相同的业务数据提取为通用业务配置数据,将衍生业务页面不同于初始业务页面的业务数据提取为衍生业务配置数据。
S2)将通用业务配置进行封装,同时将一种或多种衍生业务配置分出各自的属性逻辑和验证逻辑并且各自分别封装,其中将通用业务的封装和衍生业务的封装分别保存至相应的页面配置文件中,并且每一种衍生业务对应一个页面配置文件。
具体而言,将通用业务配置封装在jQuery的$(document).ready初始化方法里并且将该初始化方法和通用业务配置信息一起保存在第一页面配置文件中,将一个衍生业务配置的属性逻辑封装在jQuery的$(document).ready方法里,将该衍生业务配置的验证逻辑封装在jQuery.validation验证方法,并且将该衍生业务配置的属性逻辑信息和初始化方法、验证逻辑信息和验证方法一起保存在第二页面配置文件中,在有多种衍生业务时以此方式将每种衍生业务的属性逻辑信息和初始化方法、验证逻辑信息和验证方法一起保存在各自对应的页面配置文件中。
另外,每种衍生业务在创建和编辑时都有一个标记来说明业务类型,这样在有多种衍生业务的情况下,便于后面的操作中识别执行哪个衍生业务。
在本步骤中,$(document).ready初始化了通用业务数据需初始化的工作,例如所属应用文本框在配置时需要根据运营人员输入的应用名来模糊查询出相关应用列表,这个控件的初始化就是在通用的$(document).ready中完成封装。将该初始化方法与通用业务配置数据一起保存在一个页面配置文件中,例如命名为create.html的页面配置文件。同理,$(document).ready也可以初始化衍生业务的属性数据需初始化的工作,用validation验证方法执行衍生业务的验证逻辑,将衍生业务配置的属性逻辑信息和初始化方法、验证逻辑信息和验证方法一起保存在另一个页面配置文件中,例如命名为spice.html的页面配置文件。
因为一个衍生业务需要的字段跟通用业务的字段之间、以及不同衍生业务的字段之间差别很大,所以通用业务数据和衍生业务数据需要单独封装,而且也需要单独为每个衍生业务封装对应的$(document).ready初始化方法和jQuery.validation验证方法,将对每个衍生业务的封装保存在对应的一个页面配置文件中,例如假设有3个衍生业务,则按照上述方法对这3个衍生业务分别独立封装,然后将每个封装(包含有衍生业务的属性逻辑信息和初始化方法、验证逻辑信息和验证方法)保存在对应的一个页面配置文件中,共计有3个不同的页面配置文件,即每一种衍生业务对应一个页面配置文件。
S3)根据用户选择的衍生业务类型将对应的页面配置文件加载到通用业务的页面配置文件中,并在通用业务的页面配置文件中绑定一个表单验证方法。
其中使用页面标签语言判断用户选择的衍生业务类型,根据不同衍生业务类型将对应的页面配置文件加载到通用业务的页面配置文件中,在通用业务的页面配置文件中在表单提交按钮上绑定表单验证方法,该表单验证方法在处理通用业务数据验证后执行衍生业务配置的验证逻辑。
具体而言,因为每种衍生业务在创建和编辑时都有一个标记来说明业务类型,用户根据需要点击相应的衍生业务,例如上面举例的专题消息的投放,后台使用页面标签语言(例如jsp、struts、spring、Groovy等)判断用户选择的衍生业务类型,根据不同衍生业务类型将对应的页面配置文件(例如spice.html)加载到通用业务的页面配置文件(例如create.html)中,在通用业务的页面配置文件中在表单提交按钮上绑定一个表单验证方法(例如validateForm方法),该表单验证方法将会在后面的验证步骤中先处理通用业务数据验证(例如日期有效性校验),通用业务数据验证通过后执行validation验证方法,因为加载到通用业务的页面配置文件中的衍生业务的页面配置文件中的validation验证方法重新定义了通用业务的页面配置文件中的validation验证方法,所以即执行衍生业务配置的验证逻辑。
以下通过一个简单例程来说明如何实现处理通用业务数据验证后再执行衍生业务配置的验证逻辑。
在所述通用业务的页面配置文件create.html中保存validateForm()和spiceValidation(),而create.html中保存的spiceValidation()是一个空函数,不执行任何事情,具体的验证由validateForm()执行,并且在验证通过后执行调用spiceValidation()。例如以下伪代码所示:
通用业务的create.html中保存的validateForm验证方法:
Figure BDA0001223353750000081
通过使用页面标签语言将spice.html加载到create.html尾部,则衍生业务的页面配置文件中保存的validation验证方法的代码保存在create.html中,故输出至浏览器的实际html代码是:
Figure BDA0001223353750000082
Figure BDA0001223353750000091
根据浏览器特性,将会实现对不同衍生业务的定制验证的目的。
S4)渲染过程中先加载通用业务数据再加载衍生业务数据,页面提交时先校验通用业务数据,然后校验衍生业务数据。
其中首先加载通用业务的页面配置文件中保存的初始化方法,然后执行衍生业务的页面配置文件中保存的初始化方法,在页面提交时先校验通用业务数据的有效性,然后根据加载到通用业务的页面配置文件中的衍生业务的页面配置文件中保存的验证方法来校验与其对应的衍生业务数据的有效性。
具体而言,利用可在页面多处执行JavaScript脚本的特点,在渲染页面时,首先加载通用业务的页面配置文件中保存的$(document).ready初始化方法,执行至页面底部后接着执行衍生业务的页面配置文件中保存的$(document).ready初始化方法,以实现页面的定制渲染。
在页面提交时需要进行数据验证,先校验通用业务数据的有效性,然后校验衍生业务数据的有效性。如在上面通过简单例程进行举例说明的那样,在验证时,绑定的表单验证方法(例如validateForm方法)会在处理完通用业务数据验证(例如日期有效性校验),经校验有效后将执行validation验证方法。因为加载到通用业务的页面配置文件中的衍生业务的页面配置文件(例如spice.html)中的validation验证方法重新定义了通用业务的页面配置文件(例如create.html)中的validation验证方法,所以即执行对衍生业务数据的验证,从而实现了可以对不同的衍生业务执行不同的校验的目的。正如上面的例程所示,执行create.html中的validateForm(),对通用业务数据校验有效后,执行returnspiceValidation(),由此调用加载到create.html中的spice.html文件记录的functionspiceValidation(),由此实现了页面提交时先校验通用业务数据,然后校验衍生业务数据。
当从衍生业务页面提取出多种衍生业务后,按照上面的相关步骤描述,后台判断出用户通过点击选择的一个衍生业务类型,将html返回给浏览器时会根据每种衍生业务的标记来导入相应衍生业务的spice.html,即只有一个spice.html被导入到create.html的尾部,而且不同衍生业务的spice.html之间是互斥的,这样即便从衍生业务页面提取出多种衍生业务,因为每次只有一个spice.html被导入到create.html的尾部,所以多种衍生业务的验证也不会发生冲突。
根据本发明的页面渲染和验证的方法,将通用业务和衍生业务分开,将属性逻辑和验证逻辑剥离开,渲染过程中先加载通用业务数据,然后加载衍生业务数据,先验证通用业务数据,然后验证衍生业务数据,避免衍生业务复用方案中多方业务逻辑集成在同个页面,避免衍生业务独立方案中对应业务页面间存在大量重复代码,避免最终输出至浏览器的html及JavaScript代码过于臃肿,有利于后续人员维护、开发人员调试和减少测试人员的测试工作量。
图2是本发明提供的一种页面渲染和验证的装置的示意框图。如图2所示,本发明的页面渲染和验证的装置,其包括:
业务配置提取单元,用于基于初始业务页面和衍生业务页面之间的异同,提取通用业务配置和衍生业务配置;
封装和保存单元,用于将通用业务配置进行封装,同时将一种或多种衍生业务配置分出各自的属性逻辑和验证逻辑并且各自分别封装,其中将通用业务的封装和衍生业务的封装分别保存至相应的页面配置文件中,并且每一种衍生业务对应一个页面配置文件;
加载和绑定单元,用于根据用户选择的衍生业务类型将对应的页面配置文件加载到通用业务的页面配置文件中,并在通用业务的页面配置文件中绑定一个表单验证方法;
渲染和验证单元,用于渲染过程中先加载通用业务数据再加载衍生业务数据,页面提交时先校验通用业务数据,然后校验衍生业务数据。
优选的,所述业务配置提取单元用于将初始业务页面和衍生业务页面之间相同的业务数据提取为通用业务配置数据,将衍生业务页面不同于初始业务页面的业务数据提取为衍生业务配置数据。
优选的,所述封装和保存单元用于将通用业务配置封装在$(document).ready初始化方法里并且将该初始化方法和通用业务配置信息一起保存在第一页面配置文件中,将一个衍生业务配置的属性逻辑封装在$(document).ready方法里,将该衍生业务配置的验证逻辑封装在jQuery.validation验证方法,并且将该衍生业务配置的属性逻辑信息和初始化方法、验证逻辑信息和验证方法一起保存在第二页面配置文件中,在有多种衍生业务时以此方式将每种衍生业务的属性逻辑信息和初始化方法、验证逻辑信息和验证方法一起保存在各自对应的页面配置文件中。
优选的,所述加载和绑定单元使用页面标签语言判断用户选择的衍生业务类型,根据不同衍生业务类型将对应的页面配置文件加载到通用业务的页面配置文件中,在通用业务的页面配置文件中在表单提交按钮上绑定表单验证方法,该表单验证方法在处理通用业务数据验证后执行衍生业务配置的验证逻辑。
优选的,所述渲染和验证单元用于首先加载通用业务的页面配置文件中保存的初始化方法,然后执行衍生业务的页面配置文件中保存的初始化方法,在页面提交时先校验通用业务数据的有效性,然后根据加载到通用业务的页面配置文件中的衍生业务的页面配置文件中保存的验证方法来校验与其对应的衍生业务数据的有效性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,前述方法实施例中列举的例子,同样适用于解释装置的工作过程,在此不再重复描述。
根据本发明的页面渲染和验证的装置,将通用业务和衍生业务分开,将属性逻辑和验证逻辑剥离开,渲染过程中先加载通用业务数据,然后加载衍生业务数据,先验证通用业务数据,然后验证衍生业务数据,避免衍生业务复用方案中多方业务逻辑集成在同个页面,避免衍生业务独立方案中对应业务页面间存在大量重复代码,避免最终输出至浏览器的html及JavaScript代码过于臃肿,有利于后续人员维护、开发人员调试和减少测试人员的测试工作量。
本发明实施例所提供的页面渲染和验证的方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,平板电脑,智能手机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种页面渲染和验证的方法,包括:
S1)基于初始业务页面和衍生业务页面之间的异同,提取通用业务配置和衍生业务配置;
S2)将通用业务配置进行封装,同时将一种或多种衍生业务配置分出各自的属性逻辑和验证逻辑并且各自分别封装,其中将通用业务的封装和衍生业务的封装分别保存至相应的页面配置文件中,并且每一种衍生业务对应一个页面配置文件;
S3)根据用户选择的衍生业务类型将对应的页面配置文件加载到通用业务的页面配置文件中,并在通用业务的页面配置文件中在表单提交按钮上绑定一个表单验证方法;
S4)渲染过程中先加载通用业务数据再加载衍生业务数据,页面提交时,所述表单验证方法先处理通用业务数据验证以校验通用业务数据,然后执行衍生业务配置的验证逻辑以校验衍生业务数据。
2.根据权利要求1所述的方法,其特征在于在步骤S1中,将初始业务页面和衍生业务页面之间相同的业务数据提取为通用业务配置数据,将衍生业务页面不同于初始业务页面的业务数据提取为衍生业务配置数据。
3.根据权利要求2所述的方法,其特征在于在步骤S2中,将通用业务配置封装在$(document).ready初始化方法里并且将该初始化方法和通用业务配置信息一起保存在第一页面配置文件中,将一个衍生业务配置的属性逻辑封装在$(document).ready方法里,将该衍生业务配置的验证逻辑封装在jQuery.validation验证方法,并且将该衍生业务配置的属性逻辑信息和初始化方法、验证逻辑信息和验证方法一起保存在第二页面配置文件中,在有多种衍生业务时以此方式将每种衍生业务的属性逻辑信息和初始化方法、验证逻辑信息和验证方法一起保存在各自对应的页面配置文件中。
4.根据权利要求3所述的方法,其特征在于在步骤S3中,使用页面标签语言判断用户选择的衍生业务类型,根据不同衍生业务类型将对应的页面配置文件加载到通用业务的页面配置文件中。
5.根据权利要求4所述的方法,其特征在于在步骤S4中,首先加载通用业务的页面配置文件中保存的初始化方法,然后执行衍生业务的页面配置文件中保存的初始化方法,在页面提交时先校验通用业务数据的有效性,然后根据加载到通用业务的页面配置文件中的衍生业务的页面配置文件中保存的验证方法来校验与其对应的衍生业务数据的有效性。
6.一种页面渲染和验证的装置,包括:
业务配置提取单元,用于基于初始业务页面和衍生业务页面之间的异同,提取通用业务配置和衍生业务配置;
封装和保存单元,用于将通用业务配置进行封装,同时将一种或多种衍生业务配置分出各自的属性逻辑和验证逻辑并且各自分别封装,其中将通用业务的封装和衍生业务的封装分别保存至相应的页面配置文件中,并且每一种衍生业务对应一个页面配置文件;
加载和绑定单元,用于根据用户选择的衍生业务类型将对应的页面配置文件加载到通用业务的页面配置文件中,并在通用业务的页面配置文件中在表单提交按钮上绑定一个表单验证方法;
渲染和验证单元,用于渲染过程中先加载通用业务数据再加载衍生业务数据,页面提交时,所述表单验证方法先处理通用业务数据验证以校验通用业务数据,然后执行衍生业务配置的验证逻辑以校验衍生业务数据。
7.根据权利要求6所述的装置,其特征在于所述业务配置提取单元用于将初始业务页面和衍生业务页面之间相同的业务数据提取为通用业务配置数据,将衍生业务页面不同于初始业务页面的业务数据提取为衍生业务配置数据。
8.根据权利要求7所述的装置,其特征在于所述封装和保存单元用于将通用业务配置封装在$(document).ready初始化方法里并且将该初始化方法和通用业务配置信息一起保存在第一页面配置文件中,将一个衍生业务配置的属性逻辑封装在$(document).ready方法里,将该衍生业务配置的验证逻辑封装在jQuery.validation验证方法,并且将该衍生业务配置的属性逻辑信息和初始化方法、验证逻辑信息和验证方法一起保存在第二页面配置文件中,在有多种衍生业务时以此方式将每种衍生业务的属性逻辑信息和初始化方法、验证逻辑信息和验证方法一起保存在各自对应的页面配置文件中。
9.根据权利要求8所述的装置,其特征在于所述加载和绑定单元使用页面标签语言判断用户选择的衍生业务类型,根据不同衍生业务类型将对应的页面配置文件加载到通用业务的页面配置文件中。
10.根据权利要求9所述的装置,其特征在于所述渲染和验证单元用于首先加载通用业务的页面配置文件中保存的初始化方法,然后执行衍生业务的页面配置文件中保存的初始化方法,在页面提交时先校验通用业务数据的有效性,然后根据加载到通用业务的页面配置文件中的衍生业务的页面配置文件中保存的验证方法来校验与其对应的衍生业务数据的有效性。
CN201710072998.XA 2017-02-10 2017-02-10 一种页面渲染和验证的方法和装置 Active CN106843901B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710072998.XA CN106843901B (zh) 2017-02-10 2017-02-10 一种页面渲染和验证的方法和装置
US15/894,317 US10684826B2 (en) 2017-02-10 2018-02-12 Method and device for page rendering and validation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710072998.XA CN106843901B (zh) 2017-02-10 2017-02-10 一种页面渲染和验证的方法和装置

Publications (2)

Publication Number Publication Date
CN106843901A CN106843901A (zh) 2017-06-13
CN106843901B true CN106843901B (zh) 2020-08-25

Family

ID=59122279

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710072998.XA Active CN106843901B (zh) 2017-02-10 2017-02-10 一种页面渲染和验证的方法和装置

Country Status (2)

Country Link
US (1) US10684826B2 (zh)
CN (1) CN106843901B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108494832B (zh) * 2018-02-26 2021-04-09 武汉斗鱼网络科技有限公司 直播间全屏和半屏消息统一封装的方法、可读介质及设备
CN109491646B (zh) * 2018-10-18 2022-08-05 北京字节跳动网络技术有限公司 一种消息录入方法、装置、电子设备及可读介质
CN111352682B (zh) * 2018-12-24 2023-11-10 北京嘀嘀无限科技发展有限公司 页面渲染方法、装置、服务器及可读存储介质
CN111752598A (zh) * 2020-06-30 2020-10-09 北京达佳互联信息技术有限公司 页面生成方法、装置、电子设备及存储介质
CN112463256A (zh) * 2020-12-11 2021-03-09 微医云(杭州)控股有限公司 确定配置文件的方法、系统、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6397217B1 (en) * 1999-03-04 2002-05-28 Futuretense, Inc. Hierarchical caching techniques for efficient dynamic page generation
US7451393B1 (en) * 2003-12-23 2008-11-11 Sun Microsystems, Inc. System and method for a page rendering framework
CN104335523A (zh) * 2014-04-15 2015-02-04 华为技术有限公司 一种权限控制方法、客户端及服务器
CN104375818A (zh) * 2013-10-11 2015-02-25 北京金辉东方科技有限公司 一种通过配置文件实现通用数据格式录入的系统及方法
CN105607927A (zh) * 2015-12-18 2016-05-25 小米科技有限责任公司 页面显示方法及装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7599851B2 (en) * 2000-09-05 2009-10-06 Renee Frengut Method for providing customized user interface and targeted marketing forum
US20030078949A1 (en) * 2001-04-30 2003-04-24 Scholz Bernhard J. Automatic generation of forms with input validation
US7784026B1 (en) * 2002-06-05 2010-08-24 Adobe Systems Incorporated Web application internationalization
US20040168122A1 (en) * 2003-02-21 2004-08-26 Kobipalayam Murugaiyan Senthil Nathan System, method and computer readable medium for transferring and rendering a web page
MXPA06010977A (es) * 2004-03-26 2007-03-21 Crimsonlogic Pte Ltd Una plataforma de desarrollo de formularios.
US20060287920A1 (en) * 2005-06-01 2006-12-21 Carl Perkins Method and system for contextual advertisement delivery
US8332435B2 (en) * 2006-10-03 2012-12-11 Salesforce.Com, Inc. Method and system for customizing a user interface to an on-demand database service
US8082539B1 (en) * 2006-12-11 2011-12-20 Parallels Holdings, Ltd. System and method for managing web-based forms and dynamic content of website
US8719693B2 (en) * 2008-02-22 2014-05-06 International Business Machines Corporation Method for storing localized XML document values
CN102693322B (zh) * 2012-06-01 2014-10-22 杭州海康威视数字技术股份有限公司 支持多国语言的网页处理方法、网页加载方法及其系统
US20160062954A1 (en) * 2012-09-15 2016-03-03 Numbergun Llc Flexible high-speed generation and formatting of application-specified strings
EP3000054A4 (en) * 2013-05-20 2017-04-05 Citrix Systems Inc. Methods and systems for validating multiple methods of input using a unified rule set
US9613161B2 (en) * 2013-09-05 2017-04-04 Paypal, Inc. Seamless pagination
US20150370813A1 (en) * 2014-06-23 2015-12-24 Infosys Limited Adapting services of applications
US10484329B2 (en) * 2015-06-03 2019-11-19 Oath Inc. Computerized notification system and method for delivering breaking news content

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6397217B1 (en) * 1999-03-04 2002-05-28 Futuretense, Inc. Hierarchical caching techniques for efficient dynamic page generation
US7451393B1 (en) * 2003-12-23 2008-11-11 Sun Microsystems, Inc. System and method for a page rendering framework
CN104375818A (zh) * 2013-10-11 2015-02-25 北京金辉东方科技有限公司 一种通过配置文件实现通用数据格式录入的系统及方法
CN104335523A (zh) * 2014-04-15 2015-02-04 华为技术有限公司 一种权限控制方法、客户端及服务器
CN105607927A (zh) * 2015-12-18 2016-05-25 小米科技有限责任公司 页面显示方法及装置

Also Published As

Publication number Publication date
US20180232212A1 (en) 2018-08-16
US10684826B2 (en) 2020-06-16
CN106843901A (zh) 2017-06-13

Similar Documents

Publication Publication Date Title
CN106843901B (zh) 一种页面渲染和验证的方法和装置
CN110046101B (zh) 页面自动化测试方法、装置及计算机存储介质
CN106339312B (zh) Api测试方法和系统
CN111782330B (zh) 一种基于Web应用的页面数据获取方法、装置及设备
CN106648556B (zh) 前后端集成开发测试的方法及装置
CN105765527A (zh) 用于定制的软件开发包(sdk)的方法和装置
US9182953B2 (en) Hybrid dynamic code compiling device, method, and service system thereof
CN110362490B (zh) 融合iOS与Android移动应用的自动化测试方法及系统
CN107480117B (zh) 自动化页面表单数据的恢复方法及装置
CN109445775B (zh) 一键活动内嵌代码方法、装置及计算机可读存储介质
CN108415826B (zh) 应用的测试方法、终端设备及计算机可读存储介质
CN112615759B (zh) 全链路压测组件、全链路压测方法及装置
CN107688456B (zh) 文件生成方法、设备以及计算机可读存储介质
CN104598267A (zh) 应用的调起方法及装置
CN110020370B (zh) 在客户端应用中实现动画的方法、装置及动画脚本的框架
CN117370203A (zh) 自动化测试方法、系统、电子设备及存储介质
CN114003421B (zh) 虚拟机超时机制测试方法、系统、终端及存储介质
CN113485746B (zh) 应用程序接口文档的生成方法及装置
CN114911541A (zh) 配置信息的处理方法、装置、电子设备及存储介质
CN108345461B (zh) 应用更新方法和装置以及计算机可读存储介质
CN113934412A (zh) 程序生成方法、装置、设备及存储介质
CN114679491A (zh) 微前端服务应用方法、装置、存储介质及电子设备
CN104933019A (zh) 一种列表生成的方法及装置
CN112667491A (zh) 虚拟机的功能测试方法及装置
US11960560B1 (en) Methods for analyzing recurring accessibility issues with dynamic web site behavior and devices thereof

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
TR01 Transfer of patent right

Effective date of registration: 20200907

Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: Alibaba (China) Co.,Ltd.

Address before: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping square B radio tower 15 layer self unit 02

Patentee before: GUANGZHOU UC NETWORK TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right