小编典典

在web.xml中声明JSP taglib指令

jsp

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

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

在web.xml中。这样就无需在使用taglib的每个JSP文件中重复此指令。有人可以告诉我 如何将 这些指令添加到web.xml中吗?


阅读 282

收藏
2020-06-08

共1个答案

小编典典

taglibweb.xml中的元素与上述taglib指令具有不同的用途。

正如David所说,该taglib指令在每一页上都是必需的。

如果您有许多使用通用taglib的页面,则可以通过将taglib指令放入包含文件,并在每个页面中包含此文件来简化此操作。但是,无论如何执行,都必须以某种方式在页面上添加taglib指令。

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

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

如果在自定义位置具有自定义taglib,则还可以指定相对于webapp根目录的位置:

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

进一步阅读taglib指令

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

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

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

像这样在JSP页面中引用taglib(不可避免地在每个页面上使用taglib指令!):

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

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

此页面包含更多信息。

2020-06-08