本发明涉及互联网技术领域,具体而言,涉及一种模板标签的管理方法和一种模板标签的管理系统。
背景技术:
因此,如何定义浏览器识别的模板标签成为亟待解决的技术问题。
技术实现要素:
本发明正是基于上述技术问题至少之一,提出了一种新的模板标签的管理方案,在使用浏览器浏览Web页面的过程中,浏览器能够识别模板标签,从而避免发生不能正常应用网页结构样式和浏览页面真实效果的情况,提高了Web开发效率。
有鉴于此,本发明提出了一种模板标签的管理方法,包括:基于模板标签定义Web页面文件的内容,其中,所述模板标签为基于html注释的标签;在获取到对所述Web页面文件的访问请求时,解析所述模板标签以得到所述Web页面文件的内容。
在该技术方案中,通过基于html注释的标签作为模板标签来定义Web页面文件的内容,并在获取到对Web页面文件的访问请求时,解析模板标签以得到Web页面文件的内容,由于html(hypertextmark-uplanguage,超文本标记语言)注释是html基本语法标签之一,html注释不会显示在客户端浏览器中,能够被浏览器识别,且不会被当作页面主体结构标签处理,从而不会影响页面现有结构样式的应用,从而避免发生不能正常应用网页结构样式和浏览页面真实效果的情况,同时也方便开发人员在浏览器模式下简单快速的验证对页面结构、样式的修改,提高了Web开发效率。
在上述技术方案中,优选地,所述模板标签包括用于定义符合模板标签规范的模板标签的基础语法、用于实现功能代码封装的功能模板标签。
在上述任一项技术方案中,优选地,在解析所述模板标签以得到所述Web页面文件的内容的步骤之前,还包括:确定所述模板标签的基础语法中的模板标签前缀;判断所述模板标签前缀是否与预设模板标签前缀相匹配;在所述模板标签前缀与所述预设模板标签前缀相匹配时,确定所述模板标签符合模板标签规范,并执行所述解析所述模板标签以得到所述Web页面文件的内容的步骤。
在该技术方案中,通过确定模板标签的基础语法中的模板标签前缀,并在模板标签前缀与预设模板标签前缀相匹配时,确定模板标签符合模板标签规范,并解析模板标签以得到Web页面文件的内容,另外在模板标签前缀与预设模板标签前缀不匹配时,不对模板标签进行解析仅将其作为普通注释,确保只对符合模板标签规范的模板标进行解析,不影响标签原有的特性,从而满足了不同的设计需求。
在上述任一项技术方案中,优选地,所述模板标签前缀包括前缀、后缀、介于所述前缀和所述后缀间的预设字母及预设字符。
在该技术方案中,模板标签前缀可以根据设计需求自定义设定,如<!--z:tagName-->、<!--x:set-->、<!--x:if-->、<!--x:include-->等,其中,前缀包括<!--,后缀包括-->。
在上述任一项技术方案中,优选地,还包括:基于html标签属性定义实现对所述模板标签的属性的定义。
在该技术方案中,通过基于html标签属性定义实现对模板标签的属性的定义,如采用html标签属性名称/值(name=“value”)的形式以对模板标签属性和负责功能标签实现所需要的输入输出参数进行定义,扩展性比较强,可以定义一个或多个属性。
在上述任一项技术方案中,优选地,解析所述模板标签以得到所述Web页面文件的内容的步骤具体包括:采用编程语言解析所述模板标签以得到所述Web页面文件的内容。
在该技术方案中,可采用C++、JAVA等多种编程语言解析模板标签以得到Web页面文件的内容,确保了该模板标签的实用性。
根据本发明的第二方面,提出了一种模板标签的管理系统,包括:设计单元,用于基于模板标签定义Web页面文件的内容,其中,所述模板标签为基于html注释的标签;解析单元,用于在获取到对所述Web页面文件的访问请求时,解析所述模板标签以得到所述Web页面文件的内容。
在该技术方案中,通过基于html注释的标签作为模板标签来定义Web页面文件的内容,并在获取到对Web页面文件的访问请求时,解析模板标签以得到Web页面文件的内容,由于html注释是html基本语法标签之一,html注释不会显示在客户端浏览器中,能够被浏览器识别,且不会被当作页面主体结构标签处理,从而不会影响页面现有结构样式的应用,从而避免发生不能正常应用网页结构样式和浏览页面真实效果的情况,同时也方便开发人员在浏览器模式下简单快速的验证对页面结构、样式的修改,提高了Web开发效率。
在上述任一项技术方案中,优选地,还包括:确定单元,用于确定所述模板标签的基础语法中的模板标签前缀;判断单元,用于判断所述模板标签前缀是否与预设模板标签前缀相匹配;所述解析单元,具体用于在所述模板标签前缀与所述预设模板标签前缀相匹配时,确定所述模板标签符合模板标签规范,并解析所述模板标签以得到所述Web页面文件的内容。
在上述任一项技术方案中,优选地,还包括:属性定义单元,用于基于html标签属性定义实现对所述模板标签的属性的定义。
在上述任一项技术方案中,优选地,所述解析单元具体用于:采用编程语言解析所述模板标签以得到所述Web页面文件的内容。
通过以上技术方案,在使用浏览器浏览Web页面的过程中,浏览器能够识别模板标签,从而避免发生不能正常应用网页结构样式和浏览页面真实效果的情况,提高了Web开发效率。
附图说明
图1示出了根据本发明的一个实施例的模板标签的管理方法的示意流程图;
图2示出了根据本发明的实施例的模板标签的管理系统的示意框图;
图3示出了根据本发明的另一个实施例的模板标签的管理方法的示意流程图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的一个实施例的模板标签的管理方法的示意流程图。
如图1所示,根据本发明的一个实施例的模板标签的管理方法,包括:
步骤102,基于模板标签定义Web页面文件的内容,其中,所述模板标签为基于html注释的标签;
步骤104,在获取到对所述Web页面文件的访问请求时,解析所述模板标签以得到所述Web页面文件的内容。
图2示出了根据本发明的实施例的模板标签的管理系统的示意框图。
如图2所示,根据本发明的实施例的模板标签的管理系统200,包括:设计单元202和解析单元204。
其中,设计单元202用于基于模板标签定义Web页面文件的内容,其中,所述模板标签为基于html注释的标签;解析单元204用于在获取到对所述Web页面文件的访问请求时,解析所述模板标签以得到所述Web页面文件的内容。
在上述任一项技术方案中,优选地,还包括:确定单元206,用于确定所述模板标签的基础语法中的模板标签前缀;判断单元208,用于判断所述模板标签前缀是否与预设模板标签前缀相匹配;所述解析单元204,具体用于在所述模板标签前缀与所述预设模板标签前缀相匹配时,确定所述模板标签符合模板标签规范,并解析所述模板标签以得到所述Web页面文件的内容。
在上述任一项技术方案中,优选地,还包括:属性定义单元210,用于基于html标签属性定义实现对所述模板标签的属性的定义。
在上述任一项技术方案中,优选地,所述解析单元204具体用于:采用编程语言解析所述模板标签以得到所述Web页面文件的内容。
以下对本发明的技术方案作进一步说明。
在本实施例中,可基于注释化模板标签来实现Web页面的模板化,主要包括两方面组成:一方面是基于html注释的模板标签定义;另一方面是模板解析引擎,负责对页面读取、模板标签分析、标签预定义逻辑处理。html注释是html基本语法标签之一,用于在源代码中插入注释,注释不会显示在客户端浏览器中,所以采用html注释化标签作为模板标签基础。
其中,基于html注释的模板标签定义是基于html注释化标签语法,该标签是使用简单、为人所熟知的一个基本标签,在这基础上进行自定义标签规则定义,降低了学习认识门槛,易于让开发人员接受学习,基于html注释的模板标签定义如下:
1θ
2θ
3
4
5
6θ
7<!--下面代码为if判断标签-->
8<!—z:iftest=“$request.uid|isNone|not”-->
9请求的uid值为:{$request.uid}
10<!--z:end-->
11
12
上述的基于html注释的模板标签定义仅为举例说明,并不具体内容进行限定,其中基于html注释的模板标签定义包括基础语法定义、功能模板标签定义。
基础语法定义,是定义注释标签是否符合模板标签规范,符合则交付模板引擎解析,不符合则当普通注释标签处理。
判断注释标签是否符合模板标签规范的关键步骤就是在模板引擎中定义一个全局的模板标签前缀,如:定义模板标签前缀为“z”,那么基础语法如下:<!--z:tagName-->,模板标签前缀也可以采用其他设计方法,例如,可以定义除了html注释语法前缀“<!--”和后缀“-->”以外的任意字母及字符的组合,如:<!--x:set-->、<!--x:if-->、<!--x:include-->等。
功能模板标签定义,功能模板标签提供了相对独立的功能代码封装实现,可以到达简化代码、提高代码复用性、扩展性等效果,如:分页功能,分页功能在web开发中非常常见,而且分页实现的过程大同小异,可以使用功能模板标签的引入来简化和过程代码的重复实现,如:可通过<!--z:pagepageIndex=""pageSize=""rowCount=""pageAction=""-->将分页功能变化部分参数采用标签属性的方式传入,这样每个需要用到分页的地方只需简单的引入分页标签就可以实现分页功能的显示和操作。
功能模板标签属性定义,采用html标签属性名称/值对的形式,如:name="value",实现对模板标签属性定义和负责功能标签实现所需要的输入输出参数定义,扩展性强,可以定义一个或多个属性,如:<!--z:tagNameattrName1=“attrValue1”attrName2=“attrValue2”-->。
属性定义也是注释化模板标签的关键实现之一,在本实施例中提供了基础默认属性实现,很大程度简化了开发代码量和提高了开发效率。
如在本实施例中提供了默认属性有“标签执行前置条件判断属性”,在实现条件判断时仅需添加前置条件判断属性:
<!--z:forscope=“$userList”var=“user”condition=“$user.age|eq:20”-->
姓名:{$user.userName}
年龄:{$user.age}
地址:{$user.adress}
<!--z:end-->
而传统模板标签实现条件判断需要添加一对判断模板标签:
<#listuserListasuser>
<#ifage==“20”>
#if>
#list>
基于上述实例,注释化模板标签的使用明显要比其他传统模板标签要精简。
每一个功能标签代表了一种特定功能实现,并通过解析引擎注册定义功能标签名称,标签名称不能重复,比如实现对集合数据的遍历标签,注册标签名称为“for”,集合标签是块标签,那么该标签使用示例如下:
<!--z:for-->
Blockcontent
步骤302,模板引擎拦截器拦截Web请求。
步骤304,分析请求相应web文件是否需要进行模板标签解析,若是,执行步骤306;否则,执行步骤308。
步骤306,模板解析引擎读取模板并分析模板内容,并将解析后的内容返回给请求方。
步骤308,不对模板标签进行解析。
在常见传统模板标签中,其都是新定义的自定义标签,以下举例说明,如:
……
可见,采用新定义的自定义标签的模板标签,在增加了页面结构标签同时,也增加了结构的复杂度,有时也影响了结构样式应用,导致在本地浏览器模式下无法正常浏览页面真实效果,以致于开发人员不能用简单便捷的方式修改页面结构样式及验证,从而影响了开发效率。
而采用html注释的标签作为模板标签,如:
<!--z:forscope=“$userList”var=“user”desc=“遍历用户”-->
该html注释的模板标签定义仅为举例说明,并不具体内容进行限定,其不会增加代码结构的复杂度,只有在符合注释化模板标签规则才会进行标签逻辑解析,不符合则作为普通注释处理,不会影响标签原有的特性,且由于不是新加的自定义标签,所以不会影响页面现有结构样式的应用,同时也方便开发人员在浏览器模式下简单快速的验证对页面结构、样式的修改。
具体地,整个实施过程主要涉及两方面:1:搭建引擎环境,2:在web文件添加定义注释化标签,具体示例步骤如下:
步骤一:在项目环境引入模板引擎环境,如在Java环境下,在项目工程环境引入模板引擎所需环境包,并配置模板引擎拦截器拦截模板请求。
步骤二:在web文件中,使用注释化模板标签定义web文件内容。
根据上述实施例,采用html注释化标签作为模板标签基础,有以下优点:
1、注释标签是开发人员所熟知,所以基于注释的模板标签可以降低开发人员的学习门槛。
2、注释化模板标签不是新增加的自定义标签,不会增加页面结构的复杂度。
3、注释化模板标签是基于html注释,浏览器能够识别该标签,在本地使用浏览器浏览模板页面时,浏览器会把注释化模板标签视做普通注释处理,不会把注释化模板标签当作页面主体结构标签处理,从而不会影响页面现有结构样式的应用,也方便开发人员在本浏览器模式下简单快速的验证对页面结构、样式的修改。
4、注释化标签对输入输出参数定义与html标签属性定义一致,采用html标签属性名称/值对的形式,这种方式有利于属性定义的扩展,也容易让开发人员入手和学习,注释化标签对值的定义也可以采取现有或未来开发的其他定义方式,只要其语法基础是html注释。
以上结合附图详细说明了本发明的技术方案,本发明的技术方案提出了一种新的模板标签的管理方案,在使用浏览器浏览Web页面的过程中,浏览器能够识别模板标签,从而避免发生不能正常应用网页结构样式和浏览页面真实效果的情况,提高了Web开发效率。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。