基于xml解析技术和模板语言的动态web页面生成方法_2

文档序号:9667124阅读:来源:国知局
HTML代码。页面文件会利用XML命名 空间来对应不同的XML标签库,因为XML文件中可以定义多个命名空间,所以同一个页面也 可以同时使用多个标签库。即,通过XML命名空间查找到所需JS脚本文件路径和CSS脚本 文件路径,对应的HTML代码则自动加入到WEB页面中。
[0052] 由于在XML标签库中已经定义了需要引入的JS和CSS文件路径,因此在页面中无 需编写引入脚本文件的HTML脚本,只需通过命名空间指定XML标签库的名称,相关的HTML 代码就会自动的在生成的WEB页面中产生。
[0053] 在本发明的一个实施例中,HTML代码采用模板语言生成,实现向页面中填充动态 数据。其中,步骤S0和步骤S2中使用的模板语言包括Velocity模板语言和Freemarker 模板语言等或者自行开发的任何类型的模板语言。
[0054] 需要说明的是,在本发明的XML解析技术与模板语言的组合方式,先解析模板语 言,再进行XML解析。
[0055] 模板语言或者也称为模板引擎,可以应用于各种WEB开发场景。模板引擎最大的 一个作用,就是让数据与界面分离,不局限于Java技术,PHP、ASP、JavaScript等技术。在 本发明中,模板引擎的作用也是让数据与界面分离,并且,它不但用在页面文件的解析上, 标签实现类的模板文件里也使用了Velocity填充数据。
[0056] 步骤S3,在完成所有XML标签的标签处理程序后,标签处理程序输出的HTML代码 共同构成WEB页面。
[0057] 标签处理程序产生的HTML代码会首先输出到缓冲区,一个WEB页面通常分为头 head部分和主体body部分,head部分包含引入JS和CSS的脚本代码,body部分主要用于 展现的HTML代码。
[0058] 首先,将HTML代码添加至WEB页面的主体body部分;
[0059] 然后,将JS和CSS的脚本代码进行混合、排序、合并及压缩操作后,添加至WEB页 面的头head部分;
[0060] 最后,将主体body部分和头head部分进行合并,以生成完整的WEB页面。
[0061] 综上,本发明首先先处理body部分,之后再返回处理head部分。当处理完body 部分之后,WEB页面智能引入的JS和CSS脚本文件已经全部分析出来。将这部分JS和CSS 脚本文件已与head部分的其他内容进行混合、排序、合并、压缩等操作,最后和缓冲区中的 body内容进行合并,最终产生一个完整的WEB页面。
[0062] 下面参考图2和图3对XML标签库的配置片段HTML代码进行说明。
[0063] 每一个XML标签库文件都在全局范围内赋予了一个名称,在页面文件中,通过XML 命名空间的方式与该XML标签库文件挂钩。如图2所示,XML标签库的名称是"/jui",页面 文件中,通过"xmlns="/jui""的方式引用了该XML标签库。这时,该页面文件在浏览器 中显示效果对应的源代码,如图3所示。
[0064] 在图2中,并没有指定任何的"11^3"、"1;[111^"、"8(31^1:"标签,而仅仅通过"11111118 = "/jui""的方式指定了标签库,标签库中定义的"meta"、"Style"、"SCriptHlij^i^g 动添加到了生成的目标页面中。图2上半部的XML标签库片段与图3中的HTML代码头部 片段中的标号①、②、③是完全对应的。
[0065] 图4为根据本发明实施例的查询列表页面的WEB页面的示意图。下方代码为查询 列表页面在浏览器的源代码,记为代码1。

[0068] 从上方代码可以看出页面文件的内容非常简洁,这其中有几个主要的标签: "QueryPane"标签将产生这个查询列表的主框架,"Searchltem"布局每个查询条件的输入 区域,"GridToolbar"和"GridColumn"负责产生表格的按钮和数据列的展示。输出到浏览 器的HTML代码如下所示,记为代码2
[0069]
[0070] 实际输出到浏览器的代码,要比编写的页面文件代码多。以QueryPane标签为例, QueryPane标签的实现类包含一个Java文件和一个模板文件,主要产生页面代码的是下方 代码所示的模板文件,记为代码3。
[0071]
[0072] 模板文件只是标签实现类的一种辅助方式,可以使用纯代码的方式完成标签的输 出逻辑,以上仅为说明标签实现类的作用。将代码2与代码2进行比较,可以很容易的看出 标签实现类的作用.标签实现类负责处理输出到浏览器的真正的HTML代码,像前文中页面 文件里仅写了 "QueryPane"这样一个XML标签,但是输出到浏览器的确实更加复杂繁琐的 HTML代码。这些HTML代码都隐藏在标签的实现类(或者标签模板文件)里,如代码2和代 码3中方框内的部分就是标签模板文件到浏览器输出的对应内容,内容基本相似。
[0073] 根据本发明实施例的基于XML解析技术和模板语言的动态WEB页面生成方法,采 用XML解析技术加模板语言技术,生成动态的页面HTML代码,由此构成完整的WEB页。
[0074] 本发明实施例的基于XML解析技术和模板语言的动态WEB页面生成方法,具有以 下有益效果:
[0075] (1)显著减小页面文件的体积。
[0076] 页面中减少了meta、link、script等标签的编写,并且使用XML标签封装了大量的 重复性HTML代码,所以编写的页面文件非常简洁。
[0077] (2)页面所需的JS、CSS脚本运行时智能引入。
[0078] 页面通过XML命名空间查找到所需的JS和CSS脚本位置,自动加入到生成的WEB 页面中。
[0079] (3页面引入的JS、CSS脚本智能合并和压缩。
[0080] 自动判断相同路径下的JS和CSS文件,将同目录的JS和CSS文件进行合并,并且 压缩,无需繁琐的过程。
[0081] (4)XML标签处理程序要比JSP标签处理程序更易使用。
[0082] XML标签处理程序最简单的用法只需一个简单的Java类和一个标签模板文件,模 板文件中添加什么HTML代码,就会在WEB页面中生成对应的内容,并且支持模板指令。
[0083] 在本说明书的描述中,参考术语"一个实施例"、"一些实施例"、"示例"、"具体示 例"、或"一些示例"等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特 点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不 一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何 的一个或多个实施例或示例中以合适的方式结合。
[0084] 尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例 性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨 的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围 由所附权利要求极其等同限定。
【主权项】
1. 一种基于XML解析技术和模板语言的动态WEB页面生成方法,其特征在于,包括如下 步骤: 步骤S0,采用模板语言对原始页面进行变量替换,以生成包括实时数据的原始页面; 步骤S1,采用XML技术对所述包括实时数据的原始页面进行解析,其中,所述原始页面 由多个XML标签构成; 步骤S2,根据所述多个XML标签的层次关系,依次对每个所述XML标签执行如下动作: 查找所述XML标签是否在XML标签库中定义,如果是则调用所述XML标签库中的标签处理 程序,将所述XML标签库中的HTML代码自动生成在与所述原始页面对应的WEB页面中,其 中,所述XML标签库定义以下内容:所述XML标签库的名称和所述XML标签的对应的标签 处理程序,在所述标签处理程序中记录有对应的HTML代码,所述HTML代码采用模板语言 生成,在所述标签处理程序中,由所述模板语言控制所述标签处理程序输出对应的HTML代 码; 步骤S3,在完成所有XML标签的标签处理程序后,所述标签处理程序输出的HTML代码 共同构成所述WEB页面。2. 如权利要求1所述的基于XML解析技术和模板语言的动态WEB页面生成方法,其特 征在于,所述XML标签库还包括:需要引入的JS脚本文件路径和CSS脚本文件路径。3. 如权利要求2所述的基于XML解析技术和模板语言的动态WEB页面生成方法,其特 征在于,在所述步骤S2中,所述调用所述XML标签库中的标签处理程序,包括:通过XML命 名空间查找到所需JS脚本文件路径和CSS脚本文件路径,对应的HTML代码则自动加入到 所述WEB页面中。4. 如权利要求2所述的基于XML解析技术和模板语言的动态WEB页面生成方法,其特 征在于,还包括如下步骤:在添加所述JS脚本文件和CSS脚本文件时,自动判断相同路径下 的JS和CSS文件,将同目录的JS和CSS文件进行合并和压缩。5. 如权利要求1所述的基于XML解析技术和模板语言的动态WEB页面生成方法,其特 征在于,在所述步骤S2中,如果所述XML标签没有在XML标签库中定义,则将所述XML标签 以原内容输出至浏览器工具。6. 如权利要求2所述的基于XML解析技术和模板语言的动态WEB页面生成方法,其特 征在于,在所述步骤S2和S3中,将所述XML标签库中的HTML代码自动生成在与所述原始 页面对应的WEB页面,包括如下步骤: 首先,将所述HTML代码添加至所述WEB页面的主体body部分; 然后,将所述JS和CSS的脚本代码进行混合、排序、合并及压缩操作后,添加至所述WEB页面的头head部分; 最后,将所述主体body部分和头head部分进行合并,以生成完整的WEB页面。7. 如权利要求1所述的基于XML解析技术和模板语言的动态WEB页面生成方法,其特 征在于,在所述步骤SO和步骤S2中,所述模板语言包括Velocity模板语言和Freemarker 模板语言。
【专利摘要】本发明提出了一种基于XML解析技术和模板语言的动态WEB页面生成方法,包括:采用模板语言对原始页面进行变量替换,生成包括实时数据的原始页面;采用XML技术对原始页面进行解析;根据多个XML标签的层次关系,依次对每个XML标签执行如下动作:查找XML标签是否在XML标签库中定义,如果是则调用XML标签库中的标签处理程序,将XML标签库中的HTML代码自动生成在与原始页面对应的WEB页面中;在完成所有XML标签的标签处理程序后,标签处理程序输出的HTML代码共同构成WEB页面。本发明采用XML解析技术加模板语言技术,生成动态的页面HTML代码,由此构成完整的WEB页。
【IPC分类】G06F17/22, G06F9/44
【公开号】CN105426172
【申请号】CN201510729250
【发明人】崔盛
【申请人】北京金海明天软件技术有限公司
【公开日】2016年3月23日
【申请日】2015年10月30日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1