Tomcat在哪些位置和顺序搜索taglib标签uri对应关系?
什么时候需要tld文件及其在web.xml中的描述,什么时候不需要?
来自JSP 2.1规范的7.3.6.2和7.3.6.3章:
JSP.7.3.6.2计算TLD资源路径
以下描述如何解析taglib指令以计算TLD资源路径。它基于taglib指令的uri属性的值。
如果uri是abs_uri,则为绝对uri
在taglib映射中查找taglib_uri为abs_uri的条目。如果找到相应的taglib_ location是TLD资源路径。如果未找到,请提供翻译出现错误。
如果uri是root_rel_uri,则是以/开头的相对uri
在taglib映射中查找taglib_uri为root_rel_uri的条目。如果发现,相应的taglib_ location是TLD资源路径。如果没有此类条目如果找到,root_rel_uri是TLD资源路径。
JSP.7.3.6.3使用注意事项
在taglib映射中使用相对URI规范使得taglib指令中的名称。例如,如果地图是:
<taglib> <taglib-uri>/myPRlibrary</taglib-uri> <taglib-location>/WEB-INF/tlds/PRlibrary_1_4.tld</taglib-location> </taglib>
则可以用作:
<%@ taglib uri=”/myPRlibrary” prefix=”x” %>
最后,回退规则允许taglib指令直接引用TLD。这种安排非常方便以较少的成本快速开发灵活性和问责制。例如,在上面的情况下,它启用:
<%@ taglib uri=”/WEB-INF/tlds/PRlibrary_1_4.tld” prefix=”x” %>