当前位置:  开发笔记 > 编程语言 > 正文

在web.xml中声明JSP taglib指令

如何解决《在web.xml中声明JSPtaglib指令》经验,为你挑选了2个好方法。

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

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

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



1> Athena..:

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

正如大卫所说,taglib每个页面都需要该指令.

如果您有许多使用常见标记库的页面,则可以通过将taglib指令放入包含文件并在每个页面中包含此文件来快捷方式.但无论你如何做,taglib指令必须以某种方式在页面上.

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

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

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

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

进一步阅读taglib指令

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

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


  
    http://www.example.com/taglib
  
  
    /taglib.tld
  

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

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

这相当于我为上面的taglib指令提供的第二个例子.最大的区别在于你如何指向taglib位置.

此页面包含更多信息.



2> David M. Kar..:

对不起,你有点误会.如果页面使用taglib,则必须在页面上为其指定taglib指令.您可以将公共taglib指令放在include文件中,所有页面都包含include指令,但在编译时,taglib指令必须在那里.

我更喜欢在web.xml中没有taglib元素,而是使用taglib指令指定在WEB-INF/lib中的taglib jar文件内的TLD中的"uri"元素中使用的URI值. .

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有