gpt4 book ai didi

java - 可以从 WEB-INF\lib\{*.jar}\META-INF\resources\WEB-INF 目录访问 tld 文件吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:12:28 32 4
gpt4 key购买 nike

我有一个包含如下标记的 jsp 文件:

<%@ taglib prefix="abc" uri="/WEB-INF/tlds/xyz.tld" %>

在我的应用中,部署结构是:

WEB-INF
|-lib
|-some.jar
|-META-INF
|-resources
|-WEB-INF
|-tlds
|-xyz.tld

这在 Tomcat 7 中工作正常,但是当我将我的应用程序作为 7 部署到 JBoss 时,它找不到 tld 文件。

所以,是 JBoss 的问题(不支持 Servlet3.0?)还是无法从 jar 中的 META-INF\resources\WEB-INF 目录访问 tld 文件?

最佳答案

这不是 Servlet 3.0 问题,而是 JSP 2.2 问题。 (它们是不同的规范)。

taglib 声明的 uri 部分不是位置。是key,必须对应

的内容
<uri>your/tld/uri</uri>

tld 文件中的元素。

如果缺少此元素,则必须在 web.xml 中的 taglib 映射中声明它,并在那里提供 uri:

<jsp-config>
<taglib>
<taglib-uri>/WEB-INF/tlds/xyz.tld</taglib-uri>
<taglib-location>/WEB-INF/lib/some.jar/META-INF/resources/WEB-INF/tlds/xyz.tld</taglib-location>
</taglib>
</jsp-config>

关于java - 可以从 WEB-INF\lib\{*.jar}\META-INF\resources\WEB-INF 目录访问 tld 文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25739728/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com