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

文档序号:9667124阅读:316来源:国知局
基于xml解析技术和模板语言的动态web页面生成方法
【技术领域】
[0001] 本发明涉及计算机技术领域,特别涉及一种基于XML解析技术和模板语言的动态 WEB页面生成方法。
【背景技术】
[0002] 在网页开发过程中,开发人员会利用服务器端技术动态的生成网页,如JSP、 Servlet、PHP、ASP、ASP.NET等,这些技术属于底层的技术,只具备最基本的功能,因此技术 人员又在这些基础上封装了更强大的框架。例如,在Java领域,这样的框架包括Struts、 SpringMVC、Webwork、ApacheTapestry等,这些框架中都包含了更加强大的开发动态WEB 页面的功能。并且,它们通常利用JSP标签库的技术来达到目的,例如:StrutS就为开发人 员提供了一组包含不同主题的JSP标签库,或者是基于一些模板语言技术(如:Velocity、 Freemarker等)生成动态页面。
[0003] 以JSP技术为例,编写JSP页面时,通常要在页面的头部添加许多的头部声明、包 括meta、link、script等,以便引入各式各样的页面脚本。虽然可以通过include指令的 方式将这些重复性的内容包含在一个子JSP页面当中,但是这个include指令所包含的子 JSP页面仍然侵入到了每个JSP页面当中。
[0004] 在编写页面时,通常都会有许多繁琐重复性的HTML代码,虽然可以通过JSP标签 技术将这些繁琐重复的HTML代码封装到JSP标签当中,但是编写JSP标签的API也比较难 开发,所以现实的开发当中都是使用已经写好的标签很少增加标签,如果有这样的需求,大 多使用include的方式来包含子JSP页面。
[0005] 网站上线时,为了优化性能会将一些JS和CSS文件分别进行合并、压缩,以减少网 页中下载脚本的请求次数以及网络传输的脚本体积,由于合并压缩后的脚本难以阅读和维 护,所以通常会保留两份脚本;一份未合并压缩的、一份合并且压缩的。上线的网站中,将页 面中的脚本地址指向合并且压缩的。但是这些事情比较繁琐,因此大多数情况是开发时候 用的是未合并压缩的脚本,上线时,也不会进行合并和压缩。

【发明内容】

[0006] 本发明的目的旨在至少解决所述技术缺陷之一。
[0007] 为此,本发明的目的在于提出一种基于XML解析技术和模板语言的动态WEB页面 生成方法,采用XML解析技术加模板语言技术,生成动态的页面HTML代码,由此构成完整的 WEB页。
[0008] 为了实现上述目的,本发明的实施例提供一种基于XML解析技术和模板语言的动 态WEB页面生成方法,包括如下步骤:
[0009] 步骤S0,采用模板语言对原始页面进行变量替换,以生成包括实时数据的原始页 面;
[0010] 步骤S1,采用XML技术对所述包括实时数据的原始页面进行解析,其中,所述原始 页面由多个XML标签构成;
[0011] 步骤S2,根据所述多个XML标签的层次关系,依次对每个所述XML标签执行如下动 作:查找所述XML标签是否在XML标签库中定义,如果是则调用所述XML标签库中的标签处 理程序,将所述XML标签库中的HTML代码自动生成在与所述原始页面对应的WEB页面中, 其中,所述XML标签库定义以下内容:所述XML标签库的名称和所述XML标签的对应的标 签处理程序,在所述标签处理程序中记录有对应的HTML代码,所述HTML代码采用模板语言 生成,在所述标签处理程序中,由所述模板语言控制所述标签处理程序输出对应的HTML代 码;
[0012] 步骤S3,在完成所有XML标签的标签处理程序后,所述标签处理程序输出的HTML 代码共同构成所述WEB页面。
[0013] 进一步,所述XML标签库还包括:需要引入的JS脚本文件路径和CSS脚本文件路 径。
[0014] 进一步,在所述步骤S2中,所述调用所述XML标签库中的标签处理程序,包括:通 过XML命名空间查找到所需JS脚本文件路径和CSS脚本文件路径,对应的HTML代码则自 动加入到所述WEB页面中。
[0015] 进一步,还包括如下步骤:在添加所述JS脚本文件和CSS脚本文件时,自动判断相 同路径下的JS和CSS文件,将同目录的JS和CSS文件进行合并和压缩。
[0016] 进一步,在所述步骤S2中,如果所述XML标签没有在XML标签库中定义,则将所述 XML标签以原内容输出至浏览器工具。
[0017] 进一步,在所述步骤S2和S3中,将所述XML标签库中的HTML代码自动生成在与 所述原始页面对应的WEB页面,包括如下步骤:
[0018] 首先,将所述HTML代码添加至所述WEB页面的主体body部分;
[0019] 然后,将所述JS和CSS的脚本代码进行混合、排序、合并及压缩操作后,添加至所 述WEB页面的头head部分;
[0020] 最后,将所述主体body部分和头head部分进行合并,以生成完整的WEB页面。
[0021] 进一步,在所述步骤S0和步骤S2中,所述模板语言包括Velocity模板语言和 Freemarker模板语言。
[0022] 本发明实施例的基于XML解析技术和模板语言的动态WEB页面生成方法,具有以 下有益效果:
[0023] (1)显著减小页面文件的体积。
[0024] 页面中减少了meta、link、script等标签的编写,并且使用XML标签封装了大量的 重复性HTML代码,所以编写的页面文件非常简洁。
[0025] (2)页面所需的JS、CSS脚本运行时智能引入。
[0026] 页面通过XML命名空间查找到所需的JS和CSS脚本位置,自动加入到生成的WEB 页面中。
[0027] (3页面引入的JS、CSS脚本智能合并和压缩。
[0028] 自动判断相同路径下的JS和CSS文件,将同目录的JS和CSS文件进行合并,并且 压缩,无需繁琐的过程。
[0029] (4)XML标签处理程序要比JSP标签处理程序更易使用。
[0030] 本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变 得明显,或通过本发明的实践了解到。
【附图说明】
[0031] 本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变 得明显和容易理解,其中:
[0032] 图1为根据本发明实施例的基于XML解析技术和模板语言的动态WEB页面生成方 法的流程图;
[0033] 图2为根据本发明实施例的XML标签库的配置片段的示意图;
[0034] 图3为根据本发明实施例的HTML代码头部分段的示意图;
[0035] 图4为根据本发明实施例的查询列表页面的WEB页面的示意图。
【具体实施方式】
[0036] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0037] 本发明提出一种基于XML解析技术和模板语言的动态WEB页面生成方法,混合了 标准的XML语言以及模板指令的文本文件,其中,模板指令用来为动态WEB页面提供数据和 简单的逻辑,XML标签用来产生动态的页面HTML代码,由此构成完整的WEB页面。
[0038] 如图1所示,本发明实施例的基于XML解析技术和模板语言的动态WEB页面生成 方法,包括如下步骤:
[0039] 步骤S0,采用模板语言对原始页面进行变量替换,以生成包括实时数据的原始页 面。其中,此时原始页面文件中的模板指令被转换为实时数据。
[0040] 步骤S1,采用XML技术对步骤S0中得到的包括实时数据的原始页面进行解析,其 中,原始页面由多个XML标签构成。
[0041 ] 步骤S2,根据多个XML标签的层次关系,依次对每个XML标签执行如下动作:查找XML标签是否在XML标签库中定义,如果是则调用XML标签库中的标签处理程序,将XML标 签库中的HTML代码自动生成在与原始页面对应的WEB页面中。如果XML标签没有在XML 标签库中定义,则将XML标签以原内容输出至浏览器工具。
[0042] XML标签库定义以下内容:XML标签库的名称name和XML标签的对应的标签处理 程序class。
[0043] 在标签处理程序中记录有对应的HTML代码,能够输出对应页面的HTML代码。这些 标签处理程序将XML标签翻译成树状结构组织的标签处理程序集合,即按照XML中对应的 层次关系组成一个树状的数据结构,从树的根部开始,依次向里执行每一个标签处理程序。
[0044] 在本发明的一个实施例中,XML标签库还包括:需要引入的JS脚本文件路径和CSS 脚本文件路径。将页面所需JS和CSS定义在页面外部(标签库文件),通过XML命名空间 动态的在WEB页面中生成。
[0045] 在本发明的一个实施例中,JS脚本文件和CSS脚本文件的路径可以定义在全局范 围内,也可以定义在某个XML标签的内部。由此,只有页面文件中使用过这个XML标签,对 应的引用文件脚本才会在WEB页面中产生。
[0046] 具体地,在添加JS脚本文件和CSS脚本文件时,自动判断相同路径下的JS和CSS 文件,将同目录的JS和CSS文件进行合并和压缩。通过XML命名空间查找到所需JS脚本 文件路径和CSS脚本文件路径,对应的HTML代码则自动加入到WEB页面中。
[0047] 脚本文件合并和压缩是网站性能优化的手段之一,通常在网站上线之前会通过一 些工具处理这些需要合并和压缩的脚本,并且修改页面中引用脚本的代码,将路径指向合 并压缩后的脚本。但是,合并压缩的脚本是不利于阅读、修改和调试的,因此如果要修改调 试脚本,必须恢复成合并压缩前的样子。修改调试完之后再进行合并和压缩。
[0048] 本发明基于XML解析技术和模板语言的动态WEB页面生成方法,将上述过程变成 自动的。脚本压缩合并后,脚本的文件名就变成了一个16进制字符串的名称,脚本的合并 遵循同类型且同路径下的脚本文件才能合并,并且内容也是被压缩的,这个过程没有修改 任何的页面文件。
[0049] 下面对上述JS脚本文件和CSS脚本文件的处理,以及HTML代码生成到WEB页面 的过程进行详细说明。
[0050] 由于在页面中引用JS和CSS的脚本内容是在运行时动态添加的,因此在动态添加 引用脚本的时候对这些脚本进行合并和压缩,合并压缩后将产生一个新的引用路径,在生 成的WEB页面中,将使用新的路径代替原有的路径。
[0051] 如上所述,XML标签库被赋予了一个唯一的名字和一个定义用的文件,定义了每种 XML标签的标签处理程序和需要引入的JS、CSS脚本文件的路径。标签处理程序能够接收 页面文件中为该标签设置的属性,并能向页面中输出
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1