在Struts和JSTL的jar文件中其实已经包含了tld文件,所以直接把jar文件放到应用的/WEB-INF/lib里就行了。当要引用标签时就在JSP中写上<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean-1.0.2" prefix="bean" %>就行了。这里的之所以用http://jakarta.apache.org/struts/tags-bean-1.0.2是因为tld里有<uri>http://jakarta.apache.org/struts/tags-bean-1.0.2</uri>这一句。相应的,JSTL的话就用<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>来引用标签。当然也可以在Web.xml里配置一下,但tld就必须放到配置里指定的目录下了,如:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">
<taglib>
<taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>
c.tld就必须放到应用的WEB-INF/目录下了。这里的<taglib-uri>http://java.sun.com/jstl/core</taglib-uri>中的uri可以自己改。在Web.xml里配置其实没必要,直接用默认的http://java.sun.com/jstl/core就行了,这也是为什么新版Struts都把tld文件放到jar里的原因了,Apache也推荐用默认uri,不需你在Web.xml里配置了。