网上查到的资料多数是直接在web.xml中直接加入<taglib>标签,孙鑫老师的《JSP/Servlet》一书中却用了在/tlds/目录下记录标签的<taglib>然后在web.xml中引用,觉得这样会更好一些,虽然第一次配置略微麻烦,但是维护简单方便。
(老孙这一章写得很啰嗦,可能是这块没有怎么仔细精简)
摘录如下:
1、在/webapp/tlds/下建立MyTaglib.tld
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_1.xsd"
version="2.1">
<tlib-version>1.0</tlib-version>
<short-name>my</short-name>
<display-name>My Tag</display-name>
<description>Custom Tag library</description>
<uri>/mytag</uri>
<tag>
<name>hello</name>
<tag-class>org.sunxin.ch11.tags.HelloTag</tag-class>
<body-content>empty</body-content>
(如果标签有属性)
<attribute>
<name>num2</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
.....更多tag省略
</taglib>
2、web.xml中引用
<jsp-config>
<taglib>
<taglib-uri>/mytag(这个就相当于servlet的路径,jsp调用时候使用)</taglib-uri>
<taglib-location>/WEB-INF/tlds/MyTaglib.tld</taglib-location>
</taglib>
</jsp-config>
3、使用
<%@ taglib uri="/mytag" prefix="my" %>
<my:welcome name="张三">
欢迎你来到孙鑫的个人网站。
</my:welcome>
明白了吧,<tag-url>就是在jsp中可以使用的名字,prefix类似与c++/C#中的namespace(名字空间)