CN109388400B - 一种页面自动生成方法及装置 - Google Patents
一种页面自动生成方法及装置 Download PDFInfo
- Publication number
- CN109388400B CN109388400B CN201811269502.9A CN201811269502A CN109388400B CN 109388400 B CN109388400 B CN 109388400B CN 201811269502 A CN201811269502 A CN 201811269502A CN 109388400 B CN109388400 B CN 109388400B
- Authority
- CN
- China
- Prior art keywords
- xml
- page
- updating
- file
- xml node
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种页面自动生成方法和装置,以解决现有技术中在进行UI的快速实现时存在还需要大量的开发与后台交互,并且页面运行的效率不高的缺陷。该页面自动生成方法包括差异化生成静态页面的方法和差异化加载更新的方法,差异化生成静态页面的方法包括接受页面请求,查找请求页面对应xml中需更新的xml节点,然后获取要更新的xml节点对应控件的更新方法并更新,并赋予有改变的xml节点和xml文件更新标记;差异化加载更新的方法包括检测xml文件是否有更新标记,有则读html页面文件到内存,通过xml查询获取有肯定更新标记的xml节点,遍历查询html页面的控件,更新html页面对应控件的属性,然后将有肯定更新标记的xml节点及xml文件的更新标记更改为否定。
Description
技术领域
本发明涉及网页技术,尤其涉及一种页面自动生成方法和装置。
背景技术
随着软件技术的不断发展及企业对自身软件能力的需求越来越高,软件开发过程中对UI (User Interface 用户界面)的要求也越来越高,为实现UI的快速实现,一般都会采用源代码级别的复用方式,如通过代码的拷贝及基础框架的统一,快速实现功能页面开发;或者通过工具实现页面的布局定义,生成对应的功能页面。然而这些复用或自动生成页面的方式,后续需要大量的开发与后台交互,并且页面运行的效率不高。
发明内容
针对目前为UI的快速实现采用源代码级别的复用方式或自动生成页面的方式存在的后续需要大量的开发与后台交互,并且页面运行的效率不高的缺陷,本发明提供了一种一种页面自动生成方法和装置。
相应的,本发明还提供了一种页面自动生成方法和装置。
为解决上述技术问题,本发明公开了一种页面自动生成方法,包括差异化生成静态页面的方法和差异化加载更新的方法,差异化生成静态页面的方法包括:
A1、接受页面请求,并对请求进行业务逻辑处理,获取业务逻辑处理结果中单条记录的字段名称和值;
A2、获取并解析请求页面对应运行的xml文件,根据步骤A1中获取的字段名称,通过xml查询xml文件中受影响的xml节点集合,获取对应要更新的xml节点;
A3、通过所述的要更新的xml节点对应的属性判断其控件的类型;
A4、根据控件类型获取对应控件的更新方法并执行,对比xml节点的现有值与步骤A1中的原始值;对比结果为不一致时,则更新xml节点属性,并赋予xml节点肯定的更新标记;若xml节点有更新时赋予xml文件肯定的更新标记;
差异化加载更新方法包括:
B1、新建guid,检测xml文件的更新标志,若有肯定的更新标记则跳转到步骤B2,否则跳转到步骤B5;
B2、读html页面文件到内存,通过xml查询获取有肯定更新标记的xml节点,遍历有肯定更新标记的xml节点,根据xml节点的id,遍历查询html页面的控件,更新html页面对应控件的属性;
B3、更新当前xml节点的更新标志为否定的更新标记,更新xml文件的更新标志为否定的更新标记,并保存xml文件到指定的位置;
B4、保存html页面文件并带url参数地返回html文件服务器web访问路径,参数值为guid变量;
B5、保存步骤B1中的guid,返回html文件服务器web访问路径,并带guid为url参数。
相应的,本发明还公开了一种页面自动生成装置,包括差异化生成静态页面装置和差异化加载更新装置,其特征在于,所述的差异化生成静态页面装置包括:
页面接收处理模块,用于接受页面请求,并对请求进行业务逻辑处理,获取业务逻辑处理结果中单条记录的字段名称和值;
xml文件查询模块,用于获取并解析接收模块中接受的请求页面对应运行的xml文件,根据接受模块中获取的字段名称,通过xml查询xml文件中受影响的xml节点集合,获取对应要更新的xml节点;
控件类型判断模块,用于根据要更新的xml节点对应的属性判断接受的页面中的控件的类型;
更新执行模块,用于根据控件类型获取对应控件的更新方法并执行,对比xml节点的现有值与原始值;对比结果为不一致时,则更新xml节点属性,并赋予xml节点肯定的更新标记;如xml节点有更新时赋予xml文件肯定的更新标记;
所述的差异化加载更新装置包括:
更新标志检测模块:用于新建guid,检测xml文件的更新标志;
页面加载更新模块:用于读html页面文件到内存,通过xml查询获取有肯定更新标记的xml节点,遍历有肯定更新标记的xml节点,根据xml节点的id,遍历查询html页面的控件,更新html页面对应控件的属性。
更新标记更新模块,用于将有肯定更新标记的xml文件的更新标记改为否定,将有肯定更新标记的xml节点的更新标记改为否定;
第一页面返回模块,用于保存html页面文件并带url参数地返回html文件服务器web访问路径,参数值为guid变量;
第二页面返回模块,用于保存更新标志检测模块中新建的guid,返回html文件服务器web访问路径,并带guid为url参数。
与现有技术相比,本发明使用软件运行时生成静态页面及版本对比和差异化更新的技术,减少前台的处理量及服务器交互的内容,从而达到提高页面在系统环境下的运行效率,同时能缩减开发时间。
附图说明
附图1为页面生产的原理图;
附图2为本发明实施例所述的页面生产方法流程图;
附图3为本发明实施例所述的页面生成装置结构图。
具体实施方式
为了使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
软件在运行时生产静态页面,首先要解决的是系统依据什么规则来创建页面,在本实施例施中采用了以下技术来定义页面,建立解析规则。
1.采用xml技术描述页面布局,方便软件运行时对页面元素的解析;
HTML标签进行规范化后,可以为标准XML格式。如<h3 id="myModalLabel">注销系统</h3>,这是个HTML的文本标签,在XML文件中统一规范为<label cssclass="H3" id="myModalLabel" TEXT=” 注销系统”> </ label >。
2.依据上述的xml技术描述页面布局建立UI元素描述规则,以便软件根据规则识别UI元素,并对其进行属性赋值;
依据上述2点可以建立标准的XML描述格式及解析机制,依据其在运行时生成静态页面。静态页面生成后,需要其能进行后台交互及校验等,参看附图1是页面生成的原理图。生成页面的方法有很多,本方案主要是定义其标签库、校验规则库、标签填充与取值方法,通过一个配置工具,配置其标签属性、布局及事件,生成XML文件。以上为本发明的前提内容。
参看附图2,给出了本发明实施例所述的页面生产方法流程图。
该方法包括差异化生成静态页面的方法和差异化加载更新的方法,差异化生成静态页面的方法包括有如下步骤:
步骤A1、前端功能请求时,服务器后台程序先进行业务逻辑处理,获得业务逻辑处理结果。
步骤A2、获取对应页面正在运行的XML文件。
步骤A3、解析页面xml文件,针对不同元素的属性进行判断,并对其依据A3的结果更新UI元素的值。
针对上述步骤A3,其步骤又分成以下小步骤:
步骤A3001、通过xml的查询,根据A1步骤中前端请求的唯一标识,获取到对页面xml中所有受影响的xml节点。这里受影响的xml节点指对页面控件有变化的控件描述节点,如:页面上的button、文本框等XML节点,下同。
步骤A3002、遍历业务逻辑处理结果,获取结果的单条记录。
步骤A3003、遍历单条记录的字段,获取字段名称和值。
步骤A3004、根据字段名称,通过xml查询受影响的xml节点集合,获取对应要更新xml节点。
步骤A3005、通过xml节点对应的属性判断其控件类型。
步骤A3006、根据控件类型获取对应更新方法。
步骤A3007、执行更新方法,对比xml节点现有值与逻辑处理结果中的值。
步骤A3008、对比结果为不一致时,则更新xml节点属性,并标记xml节点更新标志肯定的更新标记;肯定的更新标记例如true,相对的否定的更新标记为false,或者有更新标记表示为肯定的更新标记,无更新标记则是否定的更新标记,又如用1和0各表示肯定的更新标记和否定的更新标记。为叙述方便,下面统一使用true和false来表示肯定的更新标记和否定的更新标记。
步骤A3009、如xml有更新时则标记xml文件的更新标志为true。
差异化加载更新的方法包括如下步骤:
B1、延续A3009步骤,新建guid(Globally Unique Identifier,全局唯一标示符,下同),保存为变量以便后续使用;若xml的更新标志为true,则进行步骤B2、否则进行步骤B10。
B2、根据更新标志,通过xml查询获取更新标志为true的xml节点。
B3、读html页面文件到内存。
B4、遍历更新标志为true的xml节点,根据xml节点的id,遍历查询html页面的控件。
B5、更新html页面对应控件的属性。
B6、更新当前xml节点的更新标志为false。
B7、更新xml文件的更新标志为false。
B8、保存xml文件到指定的位置。
B9、保存html页面文件;返回html文件服务器web访问路径,并带url参数,参数值为guid变量,以便缓存机制自动进行UI更新。
B10、保存B1步骤的guid,以便下次使用。
B11、返回html文件服务器web访问路径,并带B10中保存的guid,为url参数。
参看图3,给出了本发明实施例所述的一种页面自动生成装置结构图。
相应的,本发明还提供了一种页面自动生成装置,包括差异化生成静态页面装置和差异化加载更新装置,差异化生成静态页面装置包括:
页面接收处理模块11,用于接受页面请求,并对请求进行业务逻辑处理,获取业务逻辑处理结果中单条记录的字段名称和值;
xml文件查询模块12,用于获取并解析接收模块中接受的请求页面对应运行的xml文件,根据接受模块中获取的字段名称,通过xml查询xml文件中受影响的xml节点集合,获取对应要更新的xml节点;
控件类型判断模块13,用于根据要更新的xml节点对应的属性判断接受的页面中的控件的类型;
更新执行模块14,用于根据控件类型获取对应控件的更新方法并执行,对比xml节点的现有值与原始值;对比结果为不一致时,则更新xml节点属性,并赋予xml节点肯定的更新标记;如xml节点有更新时赋予xml文件肯定的更新标记;
所述的差异化加载更新装置包括:
更新标志检测模块21:用于新建guid,检测xml文件的更新标志;
页面加载更新模块23:用于读html页面文件到内存,通过xml查询获取有肯定更新标记的xml节点,遍历有肯定更新标记的xml节点,根据xml节点的id,遍历查询html页面的控件,更新html页面对应控件的属性。
更新标记更新模块24,用于将有肯定更新标记的xml文件的更新标记改为否定,将有肯定更新标记的xml节点的更新标记改为否定;
第一页面返回模块22,用于保存html页面文件并带url参数地返回html文件服务器web访问路径,参数值为guid变量;
第二页面返回模块25,用于保存更新标志检测模块中新建的guid,返回html文件服务器web访问路径,并带guid为url参数。
Claims (3)
1.一种页面自动生成方法,包括差异化生成静态页面的方法和差异化加载更新的方法,其特征在于,差异化生成静态页面的方法包括:
A1、接受页面请求,并对请求进行业务逻辑处理,获取业务逻辑处理结果中单条记录的字段名称和值;
A2、获取并解析请求页面对应运行的xml文件,根据步骤A1中获取的字段名称,通过xml查询xml文件中受影响的xml节点集合,获取对应要更新的xml节点;
A3、通过所述的要更新的xml节点对应的属性判断其控件的类型;
A4、根据控件类型获取对应控件的更新方法并执行,对比xml节点的现有值与步骤A1中的原始值;对比结果为不一致时,则更新xml节点属性,并赋予xml节点肯定的更新标记;
差异化加载更新方法包括:
B1、新建guid,检测xml文件的更新标志,若有肯定的更新标记则跳转到步骤B2-B4,否则跳转到步骤B5;
B2、读html文件到内存,通过xml查询获取有肯定更新标记的xml节点,遍历有肯定更新标记的xml节点,根据xml节点的id,遍历查询html页面的控件,更新html页面对应控件的属性;
B3、更新当前xml节点的更新标志为否定的更新标记,更新xml文件的更新标志为否定的更新标记,并保存xml文件到指定的位置;
B4、保存html文件并带url参数地返回html文件服务器web访问路径,参数值为guid变量;
B5、保存步骤B1中的guid,返回html文件服务器web访问路径,并带guid为url参数。
2.根据权利要求1所述的一种页面自动生成方法,其特征在于:获取业务逻辑处理结果中单条记录的字段名称和值的具体步骤为:遍历业务逻辑处理结果,获取结果的单条记录,遍历单条记录的字段,获得字段名称和值。
3.一种页面自动生成装置,包括差异化生成静态页面装置和差异化加载更新装置,其特征在于,所述的差异化生成静态页面装置包括:
页面接收处理模块,用于接受页面请求,并对请求进行业务逻辑处理,获取业务逻辑处理结果中单条记录的字段名称和值;
xml文件查询模块,用于获取并解析接收模块中接受的请求页面对应运行的xml文件,
根据接受模块中获取的字段名称,通过xml查询xml文件中受影响的xml节点集合,获取对应要更新的xml节点;
控件类型判断模块,用于根据要更新的xml节点对应的属性判断接受的页面中的控件的类型;
更新执行模块,用于根据控件类型获取对应控件的更新方法并执行,对比xml节点的现有值与原始值;对比结果为不一致时,则更新xml节点属性,并赋予xml节点肯定的更新标记;如xml节点有更新时赋予xml文件肯定的更新标记;
所述的差异化加载更新装置包括:
更新标志检测模块:用于新建guid,检测xml文件的更新标志;
页面加载更新模块:用于读html文件到内存,通过xml查询获取有肯定更新标记的xml节点,遍历有肯定更新标记的xml节点,根据xml节点的id,遍历查询html页面的控件,更新html页面对应控件的属性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811269502.9A CN109388400B (zh) | 2018-10-29 | 2018-10-29 | 一种页面自动生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811269502.9A CN109388400B (zh) | 2018-10-29 | 2018-10-29 | 一种页面自动生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109388400A CN109388400A (zh) | 2019-02-26 |
CN109388400B true CN109388400B (zh) | 2021-10-19 |
Family
ID=65428115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811269502.9A Active CN109388400B (zh) | 2018-10-29 | 2018-10-29 | 一种页面自动生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109388400B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110287381B (zh) * | 2019-06-26 | 2024-02-09 | 努比亚技术有限公司 | 页面控件节点的查找方法、终端及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103269453A (zh) * | 2013-05-29 | 2013-08-28 | 河南有线电视网络集团有限公司 | 机顶盒用户界面更新方法、前端装置、机顶盒和系统 |
CN103645951A (zh) * | 2013-12-19 | 2014-03-19 | 北京邮电大学 | 一种跨平台的移动数据管理系统及其方法 |
CN105843945A (zh) * | 2016-04-08 | 2016-08-10 | 联动优势科技有限公司 | 一种报表生成方法及系统 |
-
2018
- 2018-10-29 CN CN201811269502.9A patent/CN109388400B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103269453A (zh) * | 2013-05-29 | 2013-08-28 | 河南有线电视网络集团有限公司 | 机顶盒用户界面更新方法、前端装置、机顶盒和系统 |
CN103645951A (zh) * | 2013-12-19 | 2014-03-19 | 北京邮电大学 | 一种跨平台的移动数据管理系统及其方法 |
CN105843945A (zh) * | 2016-04-08 | 2016-08-10 | 联动优势科技有限公司 | 一种报表生成方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109388400A (zh) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109343857B (zh) | 线上部署机器学习模型的方法、设备和存储介质 | |
WO2018082562A1 (zh) | 页面数据编译的方法、页面渲染的方法、装置及存储介质 | |
CN103389895B (zh) | 一种前端页面的生成方法及系统 | |
CN110308930A (zh) | 接口文档生成方法、装置、计算机设备和存储介质 | |
CN106909361B (zh) | 基于模版引擎的web开发方法和装置 | |
CN111581920A (zh) | 文档转换方法、装置、设备及计算机存储介质 | |
CN109634569B (zh) | 基于注解的流程实现方法、装置、设备及可读存储介质 | |
CN104461531A (zh) | 一种报表系统自定义函数的实现方法 | |
CN114780198A (zh) | 一种客户端屏幕适配方法、装置及电子设备 | |
CN115599386A (zh) | 代码生成方法、装置、设备及存储介质 | |
CN115167831A (zh) | 基于autosar的软件集成方法、设备和使用方法 | |
CN116830105A (zh) | 用于选择和发现有漏洞软件包的系统和方法 | |
CN113535587B (zh) | 目标应用检测方法、装置及计算机设备 | |
CN109388400B (zh) | 一种页面自动生成方法及装置 | |
CN114840213A (zh) | 一种服务实例配置管理方法和装置 | |
CN103955372A (zh) | 一种移动终端中资源的检测方法及装置 | |
CN110413518B (zh) | 控件对象库的生成方法及生成装置和计算机可读存储介质 | |
CN111488144A (zh) | 一种数据处理方法以及设备 | |
US11977477B2 (en) | System and method for identification of web elements used in automation test case | |
CN115576624A (zh) | 一种编程框架优化方法、系统、终端设备及存储介质 | |
CN115033592A (zh) | 基于数据库的sql语句处理方法、装置、设备及存储介质 | |
CN110929188A (zh) | 服务端页面渲染方法及装置 | |
CN117667052A (zh) | 一种前端业务逻辑的可视化处理方法、装置及系统 | |
CN111125567B (zh) | 设备标记方法、装置、电子设备及存储介质 | |
CN110297651B (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 |