【问题标题】:What is taglib uri search sequence?什么是 taglib uri 搜索序列?
【发布时间】:2012-02-20 18:52:36
【问题描述】:

Tomcat在哪些地方以什么顺序搜索taglib标签uri对应关系?

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

【问题讨论】:

    标签: java jsp tomcat uri taglib


    【解决方案1】:

    来自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” %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-25
      • 1970-01-01
      • 2011-07-16
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 2011-11-17
      • 1970-01-01
      相关资源
      最近更新 更多