【发布时间】:2012-04-21 22:24:00
【问题描述】:
当我们使用下面的编译器指令并且我不在 web.xml 中使用时
<%@ taglib uri="/struts-tags" prefix="s"%>
tomcat 会用它做什么? taglib 如何找到 .tld? 它有搜索顺序吗?我想知道原理。谢谢~
【问题讨论】:
标签: jakarta-ee jsp-tags tld
当我们使用下面的编译器指令并且我不在 web.xml 中使用时
<%@ taglib uri="/struts-tags" prefix="s"%>
tomcat 会用它做什么? taglib 如何找到 .tld? 它有搜索顺序吗?我想知道原理。谢谢~
【问题讨论】:
标签: jakarta-ee jsp-tags tld
这是它的工作方式:
包含您的标记库的 JAR 文件有一个 .tld 文件,该文件又具有一个 <uri> 标记,其中的字符串需要与您的 JSP 中的值匹配。
例如,标准 JSTL JAR 有一个带有此 URI 的 c.tld 文件:
<uri>http://java.sun.com/jsp/jstl/core</uri>
这是您使用核心 JSTL 标记库所需的 URI。
这与您放置 JAR 的位置无关,而与 .tld 无关。
【讨论】:
容器在你的web应用程序中搜索所有.tld,首先在WEB-INF目录下,然后在WEB-INF的所有子目录中,如果有jar文件他在里面搜索,如果有tld文件. 之后,容器用 tld 文件映射找到的每个 uri。
【讨论】: