DTD文件是对XML文件元素类型定义的一个约束,如struts2中的struts.xml文件里具体可以使用哪些标签,
标签下还可以有哪些标签,及标签内可以使用哪些属性,这些都可以去查看struts2的dtd文件,dtd文件里有明确定义。
TLD文件是标签定义文件,如struts2的一些标签要能再页面上使用,必须加载标签库(tld文件),
开发者可以仿照来定义自己的标签
tld文件中对应标签对应了一些类的方法,当在页面使用标签的时候,会调用对应类的方法:如:
<tag>
<name>catch</name>
<tag-class>org.apache.taglibs.standard.tag.common.core.CatchTag</tag-class>
<body-content>JSP</body-content>
<description>
Catches any Throwable that occurs in its body and optionally
exposes it.
</description>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
Taglib的打包部署和使用方式详解:http://www.soft6.com/v9/2007/jckf_0829/70354.html
你也可以将taglib打成jar包,这个时候,你的taglib描述文件(tld文件),必须被放置在jar文件内的META-INF目录(或子目录)下。你可以在这个目录下,放置多个tld文件。
如果将taglib打包,这个jar包必须被放置在web-inf/lib目录下。在jar包的meta-inf目录下的tld文件,都可以被自动发现,不需要显式的定义其位置。