gpt4 book ai didi

java - 在 web.xml 中声明 JSP taglib 指令

转载 作者:搜寻专家 更新时间:2023-10-30 19:51:01 25 4
gpt4 key购买 nike

我似乎记得读过可以声明 taglib 指令,例如:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

在 web.xml 中。这消除了在使用 taglib 的每个 JSP 文件中复制此指令的需要。谁能告诉我如何将这些指令添加到 web.xml 中?

最佳答案

web.xml 中的 taglib 元素与上面的 taglib 指令有不同的用途。

正如 David 所说,每个页面都需要 taglib 指令。

如果您有许多使用公共(public)标签库的页面,您可以通过将标签库指令放入包含文件并在每个页面中包含此文件来简化此操作。但无论您如何操作,taglib 指令都必须以某种方式出现在页面上。

您需要在每个页面上包含的标记如下所示:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

如果您在自定义位置有自定义标签库,您还可以指定相对于 webapp 根目录的位置:

 <%@ taglib prefix="ex" uri="/taglib.tld" %>

Further reading on the taglib directive

来自 web.xml 的 taglib 指令将标记 uri 映射到您的 taglib 的物理位置。自 JSP 2.0 以来它是可选的,因为兼容的容器将在一组标准位置中查找以尝试自动发现标签库:/WEB-INF 及其子目录,/META-INF 以及 JAR 文件。

在 web.xml 中看起来像这样:

<taglib>
<taglib-uri>
http://www.example.com/taglib
</taglib-uri>
<taglib-location>
/taglib.tld
</taglib-location>
</taglib>

而taglib在JSP页面中是这样引用的(每个页面上的taglib指令是不可避免的!):

<%@ taglib prefix="ex" uri="http://www.example.com/taglib" %>

这等同于我为上面的 taglib 指令给出的第二个示例。最大的区别在于您如何指向 taglib 位置。

This page包含更多信息。

关于java - 在 web.xml 中声明 JSP taglib 指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/226514/

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