CN103870266A - 一种页面生成方法和系统 - Google Patents
一种页面生成方法和系统 Download PDFInfo
- Publication number
- CN103870266A CN103870266A CN201210555935.7A CN201210555935A CN103870266A CN 103870266 A CN103870266 A CN 103870266A CN 201210555935 A CN201210555935 A CN 201210555935A CN 103870266 A CN103870266 A CN 103870266A
- Authority
- CN
- China
- Prior art keywords
- page
- assembly
- information
- request
- model
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请提供了一种页面生成方法和系统,所述方法包括:前端引擎接收页面请求;从所述页面请求中获取页面请求地址,并依据所述页面请求地址获取对应的用户界面UI模型名称以及所述UI模型名称对应的UI模型;从所述UI模型中获取构成页面的所有UI组件的信息;依据所述UI组件的信息将所有UI组件组装到页面中,生成请求的页面。通过本申请提供的页面生成方法,在页面生成过程中,前端引擎可以不再编写JS代码,从而减少前端引擎的JS代码量,便于后期维护。
Description
技术领域
本申请涉及页面开发技术领域,特别涉及一种页面生成方法和系统。
背景技术
目前,在页面开发的过程中,为了降低项目实施成本都会选择采用技术成熟的结构框架,如:Ext、Jquery等技术框架,按照模型-视图-控制器这个三层架构模式(MVC,Model-View-Controller)的思想对整体结构框架进行分层,从而达到每层架构的相互独立,并且每层独立架构之间通过接口的方式进行调用,提高各层之间的灵活扩展机制。
但是在将整体结构框架按照MVC思想进行分层过程中,技术人员需要在了解JavaScript(简称JS)这种计算机脚本语言的情况下,撰写大量的JS代码,方可实现整体结构框架的分层,并最终生成页面进行展示。而在开发初期JS代码量增加导致架构混乱,不利于后期对IS代码的维护。
发明内容
本申请所要解决的技术问题是提供一种页面生成方法和系统,用以解决现有技术中基于JavaScript进行页面生成时,代码量较大的问题,更进一步的,还可以方便后期的维护。
为了解决上述问题,本申请公开了一种页面生成方法,包括:
接收页面请求;
从所述页面请求中获取页面请求地址,并依据所述页面请求地址获取对应的用户界面UI模型名称以及所述UI模型名称对应的UI模型;
从所述UI模型中获取构成页面的所有UI组件的信息;
依据所述UI组件的信息将所有UI组件组装到页面中,生成请求的页面。
进一步,获取所述UI模型名称对应的UI模型包括:获取所述UI模型名称对应的扩展标记语言XML格式的UI模型。
进一步,依据所述UI组件的信息将所有UI组件组装到页面中,生成请求的页面包括:
将所述所有UI组件中任意一个UI组件的信息转换为轻量级的数据交换格式JSON格式的信息,所述JSON格式的信息包括UI组件的位置信息、UI组件的类型信息和UI组件的文本信息;
获取与所述UI组件的类型信息相对应的组件,并依据所述UI组件的位置信息添加所述UI组件至页面相对应位置上,且使用所述UI组件的文本信息在所述页面上描述所述UI组件;
在将所有UI组件添加到页面上,并使用相应的UI组件的文本信息描述所述UI组件之后,生成请求的页面。
进一步,在将所有UI组件添加到页面上,并使用相应的UI组件的文本信息描述所述UI组件之后,生成请求的页面之前还包括:获取UI组件的颜色信息,并依据所述UI组件的颜色信息渲染所述UI组件。
进一步,在JSON格式的信息为正常信息的情况下,执行获取与所述UI组件的类型信息相对应的组件,并依据所述UI组件的位置信息添加所述UI组件至页面相对应位置上,且使用所述UI组件的文本信息在所述页面上描述所述UI组件。
进一步,在JSON格式的信息中携带的异常标志位为‘0’的情况下,判定JSON格式的信息为正常信息。
进一步,在JSON格式的信息还包括导航信息的情况下,返回执行接收页面请求,该页面请求对应的页面请求地址是导航信息中携带的地址;
在JSON格式的信息不包括导航信息的情况下,执行获取与所述UI组件的类型信息相对应的组件,并依据所述UI组件的位置信息添加所述UI组件至页面相对应位置上,且使用所述UI组件的文本信息在所述页面上描述所述UI组件。
本申请还提供了一种页面生成系统系统,该系统包括:
接收模块,用于接收页面请求;
第一获取模块,用于从所述页面请求中获取页面请求地址,并依据所述页面请求地址获取对应的UI模型名称以及所述UI模型名称对应的UI模型;
第二获取模块,用于从所述UI模型中获取构成页面的所有UI组件的信息;
组装模块,用于依据所述UI组件的信息将所有UI组件组装到页面中,生成请求的页面。
进一步,所述第一获取模块具体用于获取所述UI模型名称对应的XML格式的UI模型。
进一步,所述组装模块包括:转换单元、调用单元和添加单元;其中:
转换单元,用于将所述所有UI组件中任意一个UI组件的信息转换为JSON格式的信息,所述JSON格式的信息包括UI组件的位置信息、UI组件的类型信息和UI组件的文本信息;
调用单元,用于获取与所述UI组件的类型信息相对应的组件,并依据所述UI组件的位置信息添加所述UI组件至页面相对应位置上,且使用所述UI组件的文本信息在所述页面上描述所述UI组件;
添加单元,用于在将所有UI组件添加到页面上,并使用相应的UI组件的文本信息描述所述UI组件之后,生成请求的页面。
进一步,所述的页面生成系统还包括:渲染单元,用于获取UI组件的颜色信息,并依据所述UI组件的颜色信息渲染所述UI组件。
进一步,所述组装模块还包括:
第一判断单元:用于判断JSON格式的信息是否为正常信息;在JSON格式的信息为正常信息的情况下,触发所述调用单元;所述JSON格式的信息为正常信息是指在JSON格式的信息中携带的异常标志位为‘0’。
进一步,所述组装模块还包括:
第二判断单元,用于判断在JSON格式的信息中是否还包括导航信息,在JSON格式的信息还包括导航信息的情况下,返回所述接收模块,以接收页面请求地址是导航信息中携带的地址的页面请求;以及在JSON格式的信息不包括导航信息的情况下,触发所述调用单元。
与现有技术相比,本申请包括以下优点:
在本申请中,后端服务器预先配置UI模型,前端引擎在接收页面请求之后,从所述页面请求中获取页面请求地址,并依据所述页面请求地址获取对应的UI模型名称以及所述UI模型名称对应的UI模型,再从所述UI模型中获取构成页面的所有UI组件的信息;依据所述UI组件的信息将所有UI组件组装到页面中,生成请求的页面。在本申请提供的页面生成方法,由于请求页面的UI模型已预先配置,所以前端引擎可以直接调用UI模型,进而从所述UI模型中获取构成页面的所有UI组件的信息;依据所述UI组件的信息将所有UI组件组装到页面中,生成请求的页面。也就是说在页面生成过程中,前端引擎可以不再编写JS代码,从而减少前端引擎的JS代码量。
进一步,在后期进行新的页面的开发过程中,若新的页面是以原有页面为基础,则可以直接复制原有页面对应的UI模型,再对原有页面对应的UI模型进行修改,从而可以使UI模型可以被重复利用。并且单个UI模型可以单独进行维护,便于后期的数据维护。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请中一种页面生成方法的流程图;
图2是本申请中前端引擎的结构示意图;
图3是本申请中UI组件组装到页面中的具体过程的一种流程图;
图4是本申请中UI组件组装到页面中的具体过程的又一种流程图;
图5是本申请中UI组件组装到页面中的具体过程的另一种流程图;
图6是本申请中页面生成系统的结构示意框图;
图7是本申请中组装模块的一种结构示意框图;
图8是本申请中组装模块的又一种结构示意框图;
图9是本申请中组装模块的另一种结构示意框图;
图10是本申请中组装模块的再一种结构示意框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提出了一种页面生成的方法,首先接收到页面请求之后,获取页面请求地址,并依据所述页面请求地址获取对应的用户界面(UI,User Interface)模型名称以及所述UI模型名称对应的UI模型;从所述UI模型中获取构成页面的所有UI组件的信息;依据所述UI组件的信息将所有UI组件组装到页面中,生成请求的页面。
以下列举实施例对本申请提出的页面生成方法进行详细说明。
一个实施例
请参阅图1,其示出了本申请提供的一种页面生成方法的一种流程图,在本申请提供的页面生成方法基于UI前端引擎。其中,UI前端引擎请参阅图2所示,包括:页面引擎、JS引擎和创建交互式网页应用的网页开发技术(AJAX,Asynchronous JavaScript and XML)接口。其中:
页面引擎是UI前端引擎的总接入口,用户发送的请求直接由页面引擎接收,并发送给UI前端引擎的其他部分或者外界设备。
JS引擎包括组件(Cmp,component)、UI模型处理器(Model)和多模型状态下使用的模型管理器(ModelMan,ModelManager),Cmp为前端引擎的组件库,用于存储UI模型中需要的各种组件,Model可以对UI模型中的信息进行解析处理,并根据UI模型中的配置需求从组件库中调用组件;ModelMan是一个模型管理器,在请求生成的页面的局部区域包括多个UI模型时,通过ModelMan对这个局部区域的多个UI模型进行管理。
AJAX接口用于向后端服务器发送UI模型的名称,以从后端服务器中请求UI模型,并且用于接收后端服务器返回的UI模型信息。
本实施例图1所示的页面生成方法可以包括以下步骤:
步骤101:接收页面请求。
前端引擎中页面引擎直接接收用户发送的页面请求,其中用户发送的页面请求携带有页面请求地址,该页面请求地址是指当前所要请求的页面在后端服务器对应的请求地址。
步骤102:从所述页面请求中获取页面请求地址,并依据所述页面请求地址获取对应的UI模型名称以及所述UI模型名称对应的UI模型。
页面引擎从页面请求中获取页面请求地址后,找到所述页面请求的UI模型名称,然后由AJAX接口将所述的UI模型名称发送到后端服务器,并请求后端服务器将对应的UI模型返回。
后端服务器在接收到请求后响应AJAX接口发送的请求,将所述UI模型名称对应的UI模型返回到前端引擎的AJAX接口。
在后端服务器返回的UI模型中存在两种不同的类型,一种是公共UI模型,该公共UI模型是公共页面对应的UI模型。用户输入请求网址即可以获取公共UI模型,例如,公共页面百度对应的UI模型即为公共模型。
另一种是私有UI模型,该私有UI模型在输入个人信息正确的情况下所打开个人页面的页面请求对应的UI模型,并且在请求个人页面时,第一次请求的时候返回的是输入个人信息的验证信息页面对应的UI模型。例如,在打开淘宝页面时第一次请求“我的淘宝”页面时,前端引擎会首先请求账号登陆页面,并获取账号登陆页面对应的UI模型。当前端引擎显示输入个人账号和信息的页面,这时用户输入自己的个人账号和密码。当页面中的登录选项被点击后,后端服务器判断出账号和密码正确的情况下,后端服务器才返回“我的淘宝”页面对应的UI模型。
需要说明的是,在后端服务器预先设定每个页面对应的UI模型,当收到UI模型的名称时将该UI模型名称对应的UI模型通过AJAX接口返回。其中所述UI模型是描述页面信息的配置文件,在UI模型中记录有构成页面的所有UI组件的信息。并且该UI模型是最终页面和最初HTML或JS页面的一个中间模型。
在本实施例中,UI模型可以为扩展标记语言(XML,eXtensibleMarkup Language)格式的UI模型,即以XML格式记录构成页面的所有UI组件的信息。以表单作为一个UI模型,其以XML格式记录构成页面的所有UI组件的信息可以如下所示:
步骤103:从所述UI模型中获取构成页面的所有UI组件的信息。
前已述及,在UI模型为XML格式的UI模型时,UI模型中记录有构成页面的所有UI组件的信息,因此AJAX接口在接收到UI模型后,可以直接从UI模型中获取构成页面的所有UI组件的信息。
步骤104:依据所述UI组件的信息将所有UI组件组装到页面中,生成请求的页面。
在前端引擎中设置有组件库Cmp,在组件库Cmp保存有各种UI组件。Model在获取到构成页面的所有UI组件的信息后,可以直接从组件库Cmp中调用页面所需的UI组件。UI前端引擎在进行UI组件调用时采用随用随插、不用不插的方式进行调用,即UI组件为页面所需组件时调用该组件并在页面中插入该组件,若UI组件不是页面所需组件则禁止调用该组件和组件插入到页面中。
并且UI组件的信息中记录有该UI组件的位置信息、UI组件的类型信息和UI组件的文本信息。前端引擎的Model以依据该UI组件的信息可以将UI组件组装到页面中。在本实施例中UI组件组装到页面中的具体过程如图3所示,包括以下步骤:
S1:将所述所有UI组件中任意一个UI组件的信息转换为轻量级的数据交换格式(JSON,JavaScript Object Notation)格式的信息,所述JSON格式的信息包括UI组件的位置信息、UI组件的类型信息和UI组件的文本信息。
由于后端服务器返回的UI模型为XML格式的UI模型,当然UI模型内存储的UI组件的信息也为XML格式,所以UI前端引擎在获取到XML格式的UI组件的信息后,需要首先进行格式转换,将XML格式的UI组件的信息转换为JSON格式的信息,所述JSON格式的信息包括UI组件的位置信息、UI组件的类型信息和UI组件的文本信息。
其中UI组件的位置信息包括UI组件在页面中的位置以及组件的大小,UI组件的类型信息是指UI组件所使用的类型,UI组件的文本信息是指UI组件所记录的内容,如该UI组件的标题。表1是组件库Cmp中保存UI组件的形式,在功能描述一栏中给出了组件类型。
表1组件保存方式
S2:获取与所述UI组件的类型信息相对应的组件,并依据所述UI组件的位置信息添加所述UI组件至页面相对应位置上,且使用所述UI组件的文本信息在所述页面上描述所述UI组件。
JS引擎从组件库Cmp中获取UI组件的类型信息对应的组件,即获取该种类型的UI组件,并依据UI组件的位置信息将UI组件添加到页面的相应位置,且根据UI组件的位置信息所包括的组件大小调整UI组件。
当添加UI组件至页面后,在UI组件上填充文本信息,即将UI组件记录的内容如UI组件的标题填充到UI组件中,完成完整组件的添加过程。
S3:在将所有UI组件添加到页面上,并使用相应的UI组件的文本信息描述所述UI组件之后,生成请求的页面。
生成的页面可能未对颜色进行更改,导致生成的页面颜色不美观,影响页面的展示效果,因此在UI组件添加到页面后,可以获取UI组件的颜色信息,并依据所述UI组件的颜色信息渲染所述UI组件,优化页面的展示效果。
本实施例提供的页面生成方法,在页面生成过程中,前端引擎可以不再编写JS代码,从而减少前端引擎的JS代码量。进一步,在后期进行新的页面的开发过程中,若新的页面是以原有页面为基础,则可以直接复制原有页面对应的UI模型,再对原有页面对应的UI模型进行修改,从而可以使UI模型可以被重复利用。并且单个UI模型可以单独进行维护,便于后期的数据维护。
又一个实施例
如图4所示,其示出了UI组件组装到页面中又一种流程图,包括以下步骤:
S11:将所述所有UI组件中任意一个UI组件的信息转换为JSON格式的信息,所述JSON格式的信息包括UI组件的位置信息、UI组件的类型信息和UI组件的文本信息。
S12:判断JSON格式的信息是否存在异常。如果JSON格式的信息不存在异常,则说明JSON格式的信息为正常信息,执行步骤S213,如果JSON格式的信息存在异常,则说明JSON格式的信息为不正常信息,则进入执行步骤S15。
在本实施例中,判断JSON格式的信息是否存在异常可以通过判断SON格式的信息中携带的异常标志位。如:JSON格式的信息中携带的异常标志位为‘0’则表示JSON格式的信息不存在异常,则说明JSON格式的信息为正常信息;当异常标志位为‘1’则表示JSON格式的信息存在异常,则说明JSON格式的信息为异常信息。其中JSON格式的信息存在异常包括当前请求的页面的业务逻辑存在异常或者后端服务器未返回当前请求的页面对应的UI模型。
S13:获取与所述UI组件的类型信息相对应的组件,并依据所述UI组件的位置信息添加所述UI组件至页面相对应位置上,且使用所述UI组件的文本信息在所述页面上描述所述UI组件。
S14:在将所有UI组件添加到页面上,并使用相应的UI组件的文本信息描述所述UI组件之后,生成请求的页面。
S15:结束请求。
本实施例中所述步骤S11和上述实施例的步骤S1相同,步骤S13和上述实施例的步骤S2相同,步骤S14和上述步骤S3相同。这里不再详细描述,详细内容请参阅上述实施例。
另一个实施例
如图5所示,其示出了UI组件组装到页面中的又一种流程图,包括以下步骤:
S21:将所述所有UI组件中任意一个UI组件的信息转换为JSON格式的信息,所述JSON格式的信息包括UI组件的位置信息、UI组件的类型信息和UI组件的文本信息。
S22:判断JSON格式的信息中是否存在导航信息。如果JSON格式的信息中存在导航信息,则重新返回步骤101,开始新的页面请求流程,该页面请求对应的页面请求地址是导航信息中携带的地址。如果JSON格式的信息中不存在导航信息,则执行步骤S23。
本实施例中,所述的导航信息是在所请求的页面中携带的一个页面的地址,可以用于实现页面的跳转。
S23:获取与所述UI组件的类型信息相对应的组件,并依据所述UI组件的位置信息添加所述UI组件至页面相对应位置上,且使用所述UI组件的文本信息在所述页面上描述所述UI组件。
S24:在将所有UI组件添加到页面上,并使用相应的UI组件的文本信息描述所述UI组件之后,生成请求的页面。
在本实施例中步骤S21和上述实施例的步骤S1相同,步骤S23和上述实施例的步骤S2相同,步骤S24和上述步骤S3相同。这里不再详细描述,详细内容请参阅上述实施例。
在本实施例中通过判断导航信息可以在请求一个页面的过程中请求与该页面关联的另一个页面,从而实现关联页面的自动请求和请求后生成的页面的动态显示。
与上述实施例相对应,本申请还提出了一种页面生成系统,请参阅图6所示,所述页面生成系统包括:接收模块701、第一获取模块702、第二获取模块703和组装模块704;其中:
接收模块701,用于接收页面请求。
前端引擎中页面引擎直接接收用户发送的页面请求,其中用户发送的页面请求携带有页面请求地址,该页面请求地址是指当前所要请求的页面在后端服务器对应的请求地址。
第一获取模块702,用于从所述页面请求中获取页面请求地址,并依据所述页面请求地址获取对应的UI模型名称以及所述UI模型名称对应的UI模型。
页面引擎从页面请求中获取页面请求地址后,找到所述页面请求的UI模型名称,然后由AJAX接口将所述的UI模型名称发送到后端服务器,并请求后端服务器将对应的UI模型返回。
后端服务器在接收到请求后响应AJAX接口发送的请求,将所述UI模型名称对应的UI模型返回到前端引擎的AJAX接口。
需要说明的是,在后端服务器预先设定每个页面对应的UI模型,当收到UI模型的名称时将该UI模型名称对应的UI模型通过AJAX接口返回。其中所述UI模型是描述页面信息的配置文件,在UI模型中记录有构成页面的所有UI组件的信息。并且该UI模型是最终页面和最初HTML或JS页面的一个中间模型。
第二获取模块703,用于从所述UI模型中获取构成页面的所有UI组件的信息。
前已述及,在UI模型为XML格式的UI模型时,UI模型中记录有构成页面的所有UI组件的信息,因此AJAX接口在接收到UI模型后,可以直接从UI模型中获取构成页面的所有UI组件的信息。
组装模块704,用于依据所述UI组件的信息将所有UI组件组装到页面中,生成请求的页面。
在前端引擎中设置有组件库Cmp,在组件库Cmp保存有各种UI组件。在获取到构成页面的所有UI组件的信息后,可以直接从组件库Cmp中调用页面所需的UI组件。UI前端引擎在进行UI组件调用时采用随用随插、不用不插的方式进行调用,即UI组件为页面所需组件时调用该组件并在页面中插入该组件,若UI组件不是页面所需组件则禁止调用该组件和组件插入到页面中。
并且UI组件的信息中记录有该UI组件的位置信息、UI组件的类型信息和UI组件的文本信息。前端引擎的模型解析模块可以依据该UI组件的信息可以将UI组件组装到页面中。
请参阅图7,其示出了本申请提供的页面生成系统中组装模块704的一种结构示意图,组装模块704包括:转换单元801、调用单元802和添加单元803;其中:
转换单元801,用于将所述所有UI组件中任意一个UI组件的信息转换为JSON格式的信息,所述JSON格式的信息包括UI组件的位置信息、UI组件的类型信息和UI组件的文本信息。
调用单元802,用于获取与所述UI组件的类型信息相对应的组件,并依据所述UI组件的位置信息添加所述UI组件至页面相对应位置上,且使用所述UI组件的文本信息在所述页面上描述所述UI组件。
添加单元803,用于在将所有UI组件添加到页面上,并使用相应的UI组件的文本信息描述所述UI组件之后,生成请求的页面。
请参阅图8,其示出了本申请提供的页面生成系统的组装模块704的又一种结构示意图,在图7的基础上还包括:第一判断单元804:用于判断JSON格式的信息是否为正常信息;在JSON格式的信息为正常信息的情况下,触发所述调用单元802,由调用单元802获取与所述UI组件的类型信息相对应的组件,并依据所述UI组件的位置信息添加所述UI组件至页面相对应位置上,且使用所述UI组件的文本信息在所述页面上描述所述UI组件;所述JSON格式的信息为正常信息是指在JSON格式的信息中携带的异常标志位为‘0’。
请参阅图9,其示出了本申请提供的页面生成系统的组装模块704的另一种结构示意图,在图7的基础上还包括:第二判断单元805,用于判断在JSON格式的信息中是否还包括导航信息,在JSON格式的信息还包括导航信息的情况下,返回所述接收模块701,以接收页面请求地址是导航信息中携带的地址的页面请求;以及在JSON格式的信息不包括导航信息的情况下,触发所述调用单元802。
调用单元802则获取与所述UI组件的类型信息相对应的组件,并依据所述UI组件的位置信息添加所述UI组件至页面相对应位置上,且使用所述UI组件的文本信息在所述页面上描述所述UI组件。
进一步,如图10所示,本申请提供的页面生成系统的组装模块704还包括:渲染单元806,用于获取UI组件的颜色信息,并依据所述UI组件的颜色信息渲染所述UI组件。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上对本申请所提供的一种页面生成方法及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (13)
1.一种页面生成方法,其特征在于,包括:
接收页面请求;
从所述页面请求中获取页面请求地址,并依据所述页面请求地址获取对应的用户界面UI模型名称以及所述UI模型名称对应的UI模型;
从所述UI模型中获取构成页面的所有UI组件的信息;
依据所述UI组件的信息将所有UI组件组装到页面中,生成请求的页面。
2.根据权利要求1所述的页面生成方法,其特征在于,获取所述UI模型名称对应的UI模型包括:获取所述UI模型名称对应的扩展标记语言XML格式的UI模型。
3.根据权利要求2所述的页面生成方法,其特征在于,依据所述UI组件的信息将所有UI组件组装到页面中,生成请求的页面包括:
将所述所有UI组件中任意一个UI组件的信息转换为轻量级的数据交换格式JSON格式的信息,所述JSON格式的信息包括UI组件的位置信息、UI组件的类型信息和UI组件的文本信息;
获取与所述UI组件的类型信息相对应的组件,并依据所述UI组件的位置信息添加所述UI组件至页面相对应位置上,且使用所述UI组件的文本信息在所述页面上描述所述UI组件;
在将所有UI组件添加到页面上,并使用相应的UI组件的文本信息描述所述UI组件之后,生成请求的页面。
4.根据权利要求3所述的页面生成方法,其特征在于,在将所有UI组件添加到页面上,并使用相应的UI组件的文本信息描述所述UI组件之后,生成请求的页面之前还包括:获取UI组件的颜色信息,并依据所述UI组件的颜色信息渲染所述UI组件。
5.根据权利要求3所述的页面生成方法,其特征在于,在JSON格式的信息为正常信息的情况下,执行获取与所述UI组件的类型信息相对应的组件,并依据所述UI组件的位置信息添加所述UI组件至页面相对应位置上,且使用所述UI组件的文本信息在所述页面上描述所述UI组件。
6.根据权利要求5所述页面生成方法,其特征在于,在JSON格式的信息中携带的异常标志位为‘0’的情况下,判定JSON格式的信息为正常信息。
7.根据权利要求3所述的页面生成方法,其特征在于,在JSON格式的信息还包括导航信息的情况下,返回执行接收页面请求,该页面请求对应的页面请求地址是导航信息中携带的地址;
在JSON格式的信息不包括导航信息的情况下,执行获取与所述UI组件的类型信息相对应的组件,并依据所述UI组件的位置信息添加所述UI组件至页面相对应位置上,且使用所述UI组件的文本信息在所述页面上描述所述UI组件。
8.一种页面生成系统,其特征在于,包括:
接收模块,用于接收页面请求;
第一获取模块,用于从所述页面请求中获取页面请求地址,并依据所述页面请求地址获取对应的UI模型名称以及所述UI模型名称对应的UI模型;
第二获取模块,用于从所述UI模型中获取构成页面的所有UI组件的信息;
组装模块,用于依据所述UI组件的信息将所有UI组件组装到页面中,生成请求的页面。
9.根据权利要求8所述的页面生成系统,其特征在于,所述第一获取模块具体用于获取所述UI模型名称对应的XML格式的UI模型。
10.根据权利要求9所述的页面生成系统,其特征在于,所述组装模块包括:转换单元、调用单元和添加单元;其中:
转换单元,用于将所述所有UI组件中任意一个UI组件的信息转换为JSON格式的信息,所述JSON格式的信息包括UI组件的位置信息、UI组件的类型信息和UI组件的文本信息;
调用单元,用于获取与所述UI组件的类型信息相对应的组件,并依据所述UI组件的位置信息添加所述UI组件至页面相对应位置上,且使用所述UI组件的文本信息在所述页面上描述所述UI组件;
添加单元,用于在将所有UI组件添加到页面上,并使用相应的UI组件的文本信息描述所述UI组件之后,生成请求的页面。
11.根据权利要求10所述的页面生成系统,其特征在于,还包括:渲染单元,用于获取UI组件的颜色信息,并依据所述UI组件的颜色信息渲染所述UI组件。
12.根据权利要求9所述的页面生成系统,其特征在于,所述组装模块还包括:
第一判断单元:用于判断JSON格式的信息是否为正常信息;在JSON格式的信息为正常信息的情况下,触发所述调用单元;所述JSON格式的信息为正常信息是指在JSON格式的信息中携带的异常标志位为‘0’。
13.根据权利要求9所述页面生成系统,其特征在于,所述组装模块还包括:
第二判断单元,用于判断在JSON格式的信息中是否还包括导航信息,在JSON格式的信息还包括导航信息的情况下,返回所述接收模块,以接收页面请求地址是导航信息中携带的地址的页面请求;以及在JSON格式的信息不包括导航信息的情况下,触发所述调用单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210555935.7A CN103870266A (zh) | 2012-12-12 | 2012-12-12 | 一种页面生成方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210555935.7A CN103870266A (zh) | 2012-12-12 | 2012-12-12 | 一种页面生成方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103870266A true CN103870266A (zh) | 2014-06-18 |
Family
ID=50908839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210555935.7A Pending CN103870266A (zh) | 2012-12-12 | 2012-12-12 | 一种页面生成方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103870266A (zh) |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104158836A (zh) * | 2014-06-23 | 2014-11-19 | 浙江大学城市学院 | 一种通过数据渲染移动应用界面的方法 |
CN104331489A (zh) * | 2014-11-14 | 2015-02-04 | 北京百度网讯科技有限公司 | 一种用于获取基于配置化方式生成的网页的方法和装置 |
CN104360849A (zh) * | 2014-10-29 | 2015-02-18 | 中国建设银行股份有限公司 | 一种Flex运行方法及框架 |
CN104462545A (zh) * | 2014-12-24 | 2015-03-25 | 国家电网公司 | 一种基于三层模型的页面构造方法和装置 |
CN104461509A (zh) * | 2014-11-10 | 2015-03-25 | 浪潮(北京)电子信息产业有限公司 | 一种信息交互架构及方法 |
CN105243088A (zh) * | 2015-09-09 | 2016-01-13 | 深圳Tcl数字技术有限公司 | Android系统中获取网页内容的方法及装置 |
CN105354013A (zh) * | 2014-08-18 | 2016-02-24 | 阿里巴巴集团控股有限公司 | 应用界面渲染方法及装置 |
CN105589932A (zh) * | 2015-12-10 | 2016-05-18 | 浪潮通信信息系统有限公司 | 一种页面配置的方法及装置 |
CN105630992A (zh) * | 2015-12-25 | 2016-06-01 | 网易(杭州)网络有限公司 | 静态页面中的场景显示方法及装置 |
CN105786505A (zh) * | 2016-02-26 | 2016-07-20 | 上海全成通信技术有限公司 | 一种基于json的复杂web页面组件自定义方法及装置 |
WO2016177250A1 (zh) * | 2015-05-05 | 2016-11-10 | 阿里巴巴集团控股有限公司 | 客户端页面渲染方法及装置 |
CN106407388A (zh) * | 2016-09-19 | 2017-02-15 | 福建中金在线信息科技有限公司 | 一种网页生成方法及装置 |
CN106484394A (zh) * | 2016-09-13 | 2017-03-08 | 厦门兆慧网络科技有限公司 | 一种双引擎快速软件开发系统 |
CN106991154A (zh) * | 2017-03-29 | 2017-07-28 | 百度在线网络技术(北京)有限公司 | 网页渲染方法、装置、终端及服务器 |
CN107632822A (zh) * | 2016-07-15 | 2018-01-26 | 深圳联友科技有限公司 | 一种静态页面开发平台及方法 |
CN108319474A (zh) * | 2017-01-16 | 2018-07-24 | 腾讯科技(深圳)有限公司 | 一种页面信息生成方法、装置和设备 |
CN108829488A (zh) * | 2018-06-28 | 2018-11-16 | 腾讯音乐娱乐科技(深圳)有限公司 | 生成Web可交互页面的方法、装置及存储介质 |
CN109165049A (zh) * | 2018-07-03 | 2019-01-08 | 北京辰森世纪科技股份有限公司 | 组件数据处理方法及装置 |
CN109271162A (zh) * | 2018-09-03 | 2019-01-25 | 中国建设银行股份有限公司 | 一种页面生成方法和装置 |
CN109614088A (zh) * | 2018-12-07 | 2019-04-12 | 北京知道创宇信息技术有限公司 | 表单组件生成方法及装置 |
CN109783155A (zh) * | 2018-12-27 | 2019-05-21 | 北京奇安信科技有限公司 | 业务组件管理方法、装置、电子设备及存储介质 |
CN110020353A (zh) * | 2017-09-30 | 2019-07-16 | 北京国双科技有限公司 | 网页表单的构建方法及装置 |
CN110069309A (zh) * | 2019-04-23 | 2019-07-30 | 广州华多网络科技有限公司 | 一种页面配置方法、系统及客户端 |
CN110209967A (zh) * | 2019-04-17 | 2019-09-06 | 北京奇艺世纪科技有限公司 | 页面加载方法、装置、终端设备和计算机可读介质 |
CN110263279A (zh) * | 2019-05-08 | 2019-09-20 | 北京字节跳动网络技术有限公司 | 页面生成方法、装置、电子设备和计算机可读存储介质 |
CN111124544A (zh) * | 2019-12-25 | 2020-05-08 | 北京奇艺世纪科技有限公司 | 界面显示方法、装置、电子设备及存储介质 |
CN107315580B (zh) * | 2017-04-17 | 2020-06-02 | 阿里巴巴集团控股有限公司 | 用户界面的组件处理方法、装置及设备、可读介质 |
CN112099793A (zh) * | 2020-09-25 | 2020-12-18 | 成都极米科技股份有限公司 | 界面生成方法、装置、电子设备及存储介质 |
CN113254016A (zh) * | 2021-05-21 | 2021-08-13 | 四川金熊猫新媒体有限公司 | 界面生成方法、界面信息处理方法、设备及存储介质 |
-
2012
- 2012-12-12 CN CN201210555935.7A patent/CN103870266A/zh active Pending
Cited By (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104158836A (zh) * | 2014-06-23 | 2014-11-19 | 浙江大学城市学院 | 一种通过数据渲染移动应用界面的方法 |
CN104158836B (zh) * | 2014-06-23 | 2018-05-01 | 浙江大学城市学院 | 一种通过数据渲染移动应用界面的方法 |
CN105354013B (zh) * | 2014-08-18 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 应用界面渲染方法及装置 |
CN105354013A (zh) * | 2014-08-18 | 2016-02-24 | 阿里巴巴集团控股有限公司 | 应用界面渲染方法及装置 |
CN104360849A (zh) * | 2014-10-29 | 2015-02-18 | 中国建设银行股份有限公司 | 一种Flex运行方法及框架 |
CN104461509A (zh) * | 2014-11-10 | 2015-03-25 | 浪潮(北京)电子信息产业有限公司 | 一种信息交互架构及方法 |
CN104461509B (zh) * | 2014-11-10 | 2018-10-12 | 浪潮(北京)电子信息产业有限公司 | 一种信息交互系统及方法 |
CN104331489A (zh) * | 2014-11-14 | 2015-02-04 | 北京百度网讯科技有限公司 | 一种用于获取基于配置化方式生成的网页的方法和装置 |
CN104462545B (zh) * | 2014-12-24 | 2017-12-19 | 国家电网公司 | 一种基于三层模型的页面构造方法和装置 |
CN104462545A (zh) * | 2014-12-24 | 2015-03-25 | 国家电网公司 | 一种基于三层模型的页面构造方法和装置 |
WO2016177250A1 (zh) * | 2015-05-05 | 2016-11-10 | 阿里巴巴集团控股有限公司 | 客户端页面渲染方法及装置 |
WO2017041544A1 (zh) * | 2015-09-09 | 2017-03-16 | 深圳Tcl数字技术有限公司 | Android系统中获取网页内容的方法及装置 |
CN105243088A (zh) * | 2015-09-09 | 2016-01-13 | 深圳Tcl数字技术有限公司 | Android系统中获取网页内容的方法及装置 |
CN105589932A (zh) * | 2015-12-10 | 2016-05-18 | 浪潮通信信息系统有限公司 | 一种页面配置的方法及装置 |
CN105630992B (zh) * | 2015-12-25 | 2019-12-03 | 网易(杭州)网络有限公司 | 静态页面中的场景显示方法及装置 |
CN105630992A (zh) * | 2015-12-25 | 2016-06-01 | 网易(杭州)网络有限公司 | 静态页面中的场景显示方法及装置 |
CN105786505A (zh) * | 2016-02-26 | 2016-07-20 | 上海全成通信技术有限公司 | 一种基于json的复杂web页面组件自定义方法及装置 |
CN107632822A (zh) * | 2016-07-15 | 2018-01-26 | 深圳联友科技有限公司 | 一种静态页面开发平台及方法 |
CN106484394A (zh) * | 2016-09-13 | 2017-03-08 | 厦门兆慧网络科技有限公司 | 一种双引擎快速软件开发系统 |
CN106484394B (zh) * | 2016-09-13 | 2019-07-12 | 厦门兆慧网络科技有限公司 | 一种双引擎快速软件开发系统 |
CN106407388A (zh) * | 2016-09-19 | 2017-02-15 | 福建中金在线信息科技有限公司 | 一种网页生成方法及装置 |
CN108319474A (zh) * | 2017-01-16 | 2018-07-24 | 腾讯科技(深圳)有限公司 | 一种页面信息生成方法、装置和设备 |
CN108319474B (zh) * | 2017-01-16 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 一种页面信息生成方法、装置和设备 |
CN106991154A (zh) * | 2017-03-29 | 2017-07-28 | 百度在线网络技术(北京)有限公司 | 网页渲染方法、装置、终端及服务器 |
CN106991154B (zh) * | 2017-03-29 | 2022-04-05 | 百度在线网络技术(北京)有限公司 | 网页渲染方法、装置、终端及服务器 |
CN107315580B (zh) * | 2017-04-17 | 2020-06-02 | 阿里巴巴集团控股有限公司 | 用户界面的组件处理方法、装置及设备、可读介质 |
CN110020353B (zh) * | 2017-09-30 | 2021-06-25 | 北京国双科技有限公司 | 网页表单的构建方法及装置 |
CN110020353A (zh) * | 2017-09-30 | 2019-07-16 | 北京国双科技有限公司 | 网页表单的构建方法及装置 |
CN108829488A (zh) * | 2018-06-28 | 2018-11-16 | 腾讯音乐娱乐科技(深圳)有限公司 | 生成Web可交互页面的方法、装置及存储介质 |
CN109165049A (zh) * | 2018-07-03 | 2019-01-08 | 北京辰森世纪科技股份有限公司 | 组件数据处理方法及装置 |
CN109271162A (zh) * | 2018-09-03 | 2019-01-25 | 中国建设银行股份有限公司 | 一种页面生成方法和装置 |
CN109614088B (zh) * | 2018-12-07 | 2021-08-24 | 北京知道创宇信息技术股份有限公司 | 表单组件生成方法及装置 |
CN109614088A (zh) * | 2018-12-07 | 2019-04-12 | 北京知道创宇信息技术有限公司 | 表单组件生成方法及装置 |
CN109783155A (zh) * | 2018-12-27 | 2019-05-21 | 北京奇安信科技有限公司 | 业务组件管理方法、装置、电子设备及存储介质 |
CN110209967A (zh) * | 2019-04-17 | 2019-09-06 | 北京奇艺世纪科技有限公司 | 页面加载方法、装置、终端设备和计算机可读介质 |
CN110209967B (zh) * | 2019-04-17 | 2022-05-03 | 北京奇艺世纪科技有限公司 | 页面加载方法、装置、终端设备和计算机可读介质 |
CN110069309A (zh) * | 2019-04-23 | 2019-07-30 | 广州华多网络科技有限公司 | 一种页面配置方法、系统及客户端 |
CN110263279B (zh) * | 2019-05-08 | 2021-08-10 | 北京字节跳动网络技术有限公司 | 页面生成方法、装置、电子设备和计算机可读存储介质 |
CN110263279A (zh) * | 2019-05-08 | 2019-09-20 | 北京字节跳动网络技术有限公司 | 页面生成方法、装置、电子设备和计算机可读存储介质 |
CN111124544A (zh) * | 2019-12-25 | 2020-05-08 | 北京奇艺世纪科技有限公司 | 界面显示方法、装置、电子设备及存储介质 |
CN112099793A (zh) * | 2020-09-25 | 2020-12-18 | 成都极米科技股份有限公司 | 界面生成方法、装置、电子设备及存储介质 |
CN112099793B (zh) * | 2020-09-25 | 2023-08-22 | 成都极米科技股份有限公司 | 界面生成方法、装置、电子设备及存储介质 |
CN113254016A (zh) * | 2021-05-21 | 2021-08-13 | 四川金熊猫新媒体有限公司 | 界面生成方法、界面信息处理方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103870266A (zh) | 一种页面生成方法和系统 | |
US7877725B2 (en) | System and method for dynamic generation and customization of web service client applications for terminals | |
US7925002B2 (en) | Administering multiple target ACD systems | |
CN102591724A (zh) | 消息交互方法及装置 | |
US20120239724A1 (en) | Method and system for centralized reservation context management on multi-server reservation system | |
US20060282515A1 (en) | Method, system and network server for recording use of network service capability by applications | |
KR100880536B1 (ko) | 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크시스템 | |
US20150163102A1 (en) | Client-server system for network services and applications for mobile telecommunications terminals | |
CN111338637A (zh) | 一种代码生成方法及装置 | |
CN103164206A (zh) | 基于saas的软件定制系统 | |
US11847509B2 (en) | Infrastructure base model API | |
CN106897153A (zh) | 调用应用编程接口的方法和系统 | |
CN109445841A (zh) | 接口文档管理方法、装置、服务器及存储介质 | |
CN114615096B (zh) | 基于事件驱动架构的电信计费方法、系统及相关设备 | |
CN103561113A (zh) | Web Service接口的生成方法及装置 | |
CN105278928A (zh) | Ivr对外接口配置方法及装置 | |
US20080144651A1 (en) | Method, system and program product for adapting to protocol changes | |
Wilde | Declarative Web 2.0 | |
CN104753860B (zh) | 基于中间件的网络服务系统 | |
CN108769249A (zh) | iOS高性能高扩展网络架构及实现方法、服务器及介质 | |
CN104869172B (zh) | 异构系统下多应用的数据交互方法和数据交互系统 | |
Tarkoma et al. | Spice: A service platform for future mobile ims services | |
EP3119067B1 (en) | Client-server system for network services and applications for mobile telecommunications terminals | |
CN111736807B (zh) | 租户功能定制方法、装置及基于租户的办公系统 | |
CN110967003B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140618 |