配置文件 *.tld 目录位置(不可变):
例子: ql.tld
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
version="2.1">
<!-- 标签的版本 -->
<tlib-version>1.0</tlib-version>
<!-- 声明标签的名称 -->
<short-name>ql</short-name>
<!-- 声明标签的引用方式标识符号 -->
<uri>/ql.com</uri>
<!-- 声明自己的标签 -->
<tag>
<!-- 声明标签的名称 -->
<name>date</name>
<!-- 声明标签的服务类 -->
<tag-class>cn.tag.DateTag</tag-class>
<!-- 声明body的内容是什么 -->
<body-content>empty</body-content>
</tag>
<!-- 添加新的子标签 -->
<tag>
<name>myDate2</name>
<tag-class>cn.tag.Date2Tag</tag-class>
<body-content>empty</body-content>
<!-- 声明属性 -->
<attribute>
<name>name</name>
<required>true</required>
<!-- runtime expression value是否接收运行时间 表达 式的值,即${..} -->
<rtexprvalue>true</rtexprvalue>
<type>java.lang.String</type>
</attribute>
</tag>
<tag>
<name>token</name>
<tag-class>cn.tag.TokenTag</tag-class>
<body-content>JSP</body-content>
</tag>
<tag>
<name>for</name>
<tag-class>cn.tag.ForTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<name>items</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.Object</type>
</attribute>
<attribute>
<name>var</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
<type>java.lang.String</type>
</attribute>
</tag>
<tag>
<name>sfor</name>
<tag-class>cn.tag.STSFor</tag-class>
<body-content>scriptless</body-content>
<attribute>
<name>items</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.Object</type>
</attribute>
<attribute>
<name>var</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
<type>java.lang.String</type>
</attribute>
</tag>
<tag>
<name>stsfor</name>
<tag-class>cn.tag.STSForeach</tag-class>
<body-content>empty</body-content>
<attribute>
<name>items</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.Object</type>
</attribute>
</tag>
</taglib>