要加 DOCTYPE 吧<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"><taglib>
.....
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"><taglib>
.....
然后在uri中引用. 比如uri='WEB-INF/tld/testTag.tld'
<%@ taglib prefix="getWebServer" uri="WEB-INF/getWebServer.tld" %>
prefix的名称最好和定义的相同!
另外有三种标签,用法也不相同,要注意你的事哪一种标签,怎么用!
在web.xml文件中要部署上你的tld文件
如:
<web-app>
<taglib>
<taglib-uri>getWebServer</taglib-uri>
<taglib-location>/WEB-INF/getWebServer.tld</taglib-location>
</taglib>
</web-app>
<tagclass>GetWebServerTag</tagclass>
你用的web服务器中对tld文件的默认有效性检查可能版本比较高,它认识<tag-lib>,而不认识<taglib>,因此不加有效性检查,就有可能出错。
实际上,我以前做的tld文件都不用<!DOCTYPE>这个的,后来在移植的过程中也发觉了同样的错误,加了有效性检查才搞定。
兄弟加油