什么是taglib uri搜索序列?

时间:2012-01-27 19:46:41

标签: java jsp tomcat uri taglib

Tomcat在哪些地方以及以何种顺序搜索taglib标签uri对应?

当需要tld文件及其在web.xml中的描述时,何时不需要?

1 个答案:

答案 0 :(得分:3)

来自JSP 2.1 specification的第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” %>