目录
一、标签语言的特点
1.1 在我们想自定义属于自己的标签前,我们肯定要先来了解一下
标签结构:
我们就以 if 标签来做例子:
了解标签结构
<c:if test="true"> 开始标签
true 标签体
</c:if> 结束标签我们看一下标签的分类:控制标签、数据标签、UI标签
没有标签体也能在网页中输出内容的标签就是:UI标签
经过试验我发现:点击c:if标签可以跳转到c.tld文件中,而c.tld文件就是c标签库的定义配置文件!
<c:if test="true">true</c:if>
<c:if test="false">false</c:if>
<c:set var="l" value="Leaf"></c:set>
<c:out value="${l }"></c:out>
二、自定义标签的开发及其使用步骤
2.1 在了解了标签的一些基本结构以及特点后,我们进一步探索,
根据上面点击 if 标签 发现自定义标签是与tld文件有关的;
我们再次试验发现把c.tld文件中的tag元素删除后相关的标签就不能用了;
因此我们得到两条结论:
<!--
1、自定义标签是与tld文件相关的
2、标签库中的标签与tld中的tag元素有关,也就是跟tag元素对应的助手类有关。
-->
于是我们想到如果把这个tld文件复制一份,把需要改的地方改成自己的,那是不是也能使用?
所以我们把tld文件复制一份:Leaf.tld,根据引入的代码:
<%@ taglib prefix="l" uri="http://jsp.leaf.com" %>
我们想到在tld文件中是否有这个uri,于是Ctrl+F查找一下,果然在tld文件中发现了这个uri,于是我们把它改成自己定义的uri:
<description>JSTL 1.1 core library</description>
<display-name>JSTL core</display-name>
<tlib-version>1.1</tlib-version>
<short-name>c</short-name>
<uri>http://jsp.leaf.com</uri>
然后新建一个Jsp文件,引入刚刚自定义的这个tld文件,发现果然存在!
接着我们用这个自己定义的tld文件测试一下那几个标签试试能不能使用:
注:复制的tld文