taglib uri 搜索顺序是什么?

发布于 2024-12-29 09:53:33 字数 89 浏览 3 评论 0原文

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

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

In which places and in which order the Tomcat is searching for taglib tag uri correspondence?

When tld file and it's description in web.xml is required and when is not?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

大姐,你呐 2025-01-05 09:53:33

来自 JSP 2.1 规范

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 指令中的名称。例如,如果地图是:

; 
  /myPRlibrary 
  /WEB-INF/tlds/PRlibrary_1_4.tld 
 

那么它可以用作:

<%@ taglib uri=”/myPRlibrary” prefix=”x” %>; 

最后,后备规则允许 taglib 指令直接引用 TLD。
这种安排非常方便快速开发,但代价却较小
灵活性和问责制。例如,在上面的情况下,它启用:

<%@ taglib uri=”/WEB-INF/tlds/PRlibrary_1_4.tld” prefix=”x” %>;

From chapters 7.3.6.2 and 7.3.6.3 of the JSP 2.1 specification:

JSP.7.3.6.2 Computing the TLD Resource Path

The following describes how to resolve a taglib directive to compute the TLD
resource path. It is based on the value of the uri attribute of the taglib directive.

  • If uri is abs_uri, an absolute URI

    Look in the taglib map for an entry whose taglib_uri is abs_uri. If found, the
    corresponding taglib_location is the TLD resource path. If not found, a translation
    error is raised.

  • If uri is root_rel_uri, a relative URI that starts with /

    Look in the taglib map for an entry whose taglib_uri is root_rel_uri. If found,
    the corresponding taglib_location is the TLD resource path. If no such entry is
    found, root_rel_uri is the TLD resource path.

...

JSP.7.3.6.3 Usage Considerations

...

The use of relative URI specifications in the taglib map enables very short
names in the taglib directive. For example, if the map is:

<taglib> 
  <taglib-uri>/myPRlibrary</taglib-uri> 
  <taglib-location>/WEB-INF/tlds/PRlibrary_1_4.tld</taglib-location> 
</taglib> 

then it can be used as:

<%@ taglib uri=”/myPRlibrary” prefix=”x” %> 

Finally, the fallback rule allows a taglib directive to refer directly to the TLD.
This arrangement is very convenient for quick development at the expense of less
flexibility and accountability. For example, in the case above, it enables:

<%@ taglib uri=”/WEB-INF/tlds/PRlibrary_1_4.tld” prefix=”x” %>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文