前言
Tag文件和JSP文件很类似,可以被JSP页面动态加载使用,实现代码的复用,但用户不能通过该Tag文件所在的Web服务目录直接访问Tag文件。
一、Tag文件
1.Tag文件的结构
Tag文件的扩展名是.tag的文本文件,其结构和JSP文件类似。一个Tag文件中可以有普通的HTML标记符、某些特殊的指令标记、成员变量声明和方法的定义、java程序片和java表达式。
代码如下(示例):oddNumberSum.tag
<%@ tag pageEncoding=“utf-8”%>
1-100内的奇数之和: <% int sum = 0, i = 1; for(; i < 100; i++){ if(i % 2 == 0){ sum = sum + i; } } out.println(sum); %>
2.Tag文件的保存
为了能让一个Web应用中的JSP页面使用某一个Tag文件,必须把这个Tag文件存放到Tomcat服务器指定的目录中,Web服务目录\WEB-INF\tags ,例如:ch3\WEB-INF\tags
保存Tag文件时要按照Tag文件指定的编码保存,如果<%@ tag pageEncoding=“uft-8”%>,那么保存Tag文件时就应使用utf-8编码形式保存。
二、Tag标记
1.Tag标记与Tag文件
某个Web服务目录下的Tag文件只能由该Web服务目录中的JSP页面调用,JSP页面必须通过Tag标记来调用一个Tag文件。Tag标记的文件名字和Tag文件的名字一致,也就是说,当我们编写了一个Tag文件并保存到特定目录中后,也就给出了一个Tag标记。一个Tag文件对应着一个Tag标记,把全体Tag标记称之为一个自定义标记库或简称为标记库。 Tag标志的格式: <Tag 文件的名字/> 或者 <Tag 文件的名字>其他内容</Tag 文件的名字>
2.Tag标记的使用
Web服务目录下的一个JSP页面在使用Tag标记来调用一个Tag文件之前,必须首先使用taglib指令标记引入该Web服务目录下的标记库。 taglib指令的格式: <%@ taglib tagdir=“标记库的位置” prefix=“前缀”%> taglib指令中的prefix给出的前缀由用户自定义,其好处是,通过前缀可以有效地区分不同标记库中具有相同名字的标记文件。
代码如下(示例):
<%