dtd与tld的区别

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>


上面的tld中的标签是要靠dtd来约束哪些标签可以使用。。



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文件,都可以被自动发现,不需要显式的定义其位置。




你可能感兴趣的:(dtd与tld的区别)