我的web.xml不知道taglib标签

时间:2013-01-30 12:50:34

标签: java web.xml taglib struts-1

我想在我的jsp中使用html标签,所以我必须在web.xml中添加标签lib 当我将这些行添加到web.xml时:

<taglib>
    <taglib-uri>/tags/struts-html</taglib-uri>
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>

它不知道taglib标签

3 个答案:

答案 0 :(得分:5)

较新版本的JSP / Servlet容器不需要web.xml中的taglib条目,因为容器会自动找到它。

您只需在JSP页面中使用<%@ taglib %>指令即可使用.tld文件:

<%@ taglib prefix="html" uri="/WEB-INF/struts-html.tld" %>

答案 1 :(得分:3)

<taglib>代码必须位于<jsp-config>代码内。

但是使用Struts2,你绝对不需要struts-html taglib,它来自Struts 1,它比较旧,完全不同。

只需浏览一下Struts2功能,您就会发现不再需要使用html标签,幸运的是。

答案 2 :(得分:0)

有三种方法可以配置标记库。

  1. 手动配置抛出web.xml :确保将 tld 文件复制到WEB-INF文件夹,并在web.xml中进行配置,如下所示,将taglib指令中的taglib指令attributete用作<%@ taglib uri="mytagliburi" prefix="ww" %>
  2. <taglib>
             <taglib-uri>mytagliburi</taglib-uri>
             <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
    </taglib> 
    
    1. 仅使用taglib指令进行手动配置:确保将 tld 文件复制到WEB-INF文件夹,并将taglib目录直接配置为<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="ww" %>
    2. 自动配置:这是一种简单的方法,在Struts 1.2版中使用,只需在项目struts-taglib.jar中包含classpath或将其复制到{{ 1}}文件夹。所有WEB-INF/lib详细信息都在tld文件夹中定义。在部署期间,所有tld都将自动部署。但是,我们只能通过struts-taglib.jar\META-INF\tld名称访问它。在此方法中,我们不允许更改pre-fixed uri名称。