我似乎记得读过,可以声明taglib指令,例如:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
在web.xml中。这样就无需在使用taglib的每个JSP文件中重复此指令。有人可以告诉我 如何将 这些指令添加到web.xml中吗?
taglibweb.xml中的元素与上述taglib指令具有不同的用途。
taglib
正如David所说,该taglib指令在每一页上都是必需的。
如果您有许多使用通用taglib的页面,则可以通过将taglib指令放入包含文件,并在每个页面中包含此文件来简化此操作。但是,无论如何执行,都必须以某种方式在页面上添加taglib指令。
您需要在每个页面上包含的标签如下所示:
如果在自定义位置具有自定义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位置。
此页面包含更多信息。