Tag文件,几乎和JSP文件一模一样,可以被JSP页面动态加载调用。Tag文件有什么优势呢(既然和JSP几乎一模一样,那就得想想这个必然有不一样的地方,不然要它存在干嘛)
- 在设计Web应用时,可以通过编写Tag文件实现代码复用。
- 可将JSP页面中的关于数据处理的代码放在一个Tag文件中,让JSP页面只负责显示数据。即通过使用Tag文件将数据的处理和显示相分离,方便web项目的维护
开始尝试创建应用tag文件
1.在WEB服务目录下创建如下目录结构
Web服务目录\WEB-INF\tags,
没错,就是你想的那样,在WEB-INF下建一个tags文件夹,把tags文件放在那里
tags文件下一般来说会建一些tag库,lib1,lib2,lib3.....(这种标号式的命名方式可别学)
Web服务目录\WEB-INF\tags\lib1
2.创建tag文件
其实和jsp差不多,模仿一下下面
<%@tag pageEncoding="GB2312" %>
<p>这是一个Tag文件,负责计算1~100内的奇数之和</p>
<%int sum=0, i=1;
for (i=1;i<=100;i++) { sum=sum+i; }
out.println(sum);%>
大致会是如图所示
2.引入tag文件
<%@ taglib tagdir="自定义标记库的位置" prefix="前缀" %>
在jsp文件顶部写这样的标签,如本文例子就写为
<%@ taglib tagdir="/WEB-INF/tags/lib1" prefix="beijing" %>
在jsp中调用标签
<beijing:AddSum/>
就可以调用目录下lib1库中的AddSum.tag了。
这里,一开始学我也有点蒙,前缀是啥用,书上写了
通过前缀可以有效地区分不同标记库中具有相同名字的标记文件
这样有些明白了吧,就是给标记库取一个别名,以防各种库的tag混在一起,同名tag会有歧义