【问题标题】:my web.xml does not know taglib tag我的 web.xml 不知道 taglib 标签
【发布时间】:2013-01-30 12:50:34
【问题描述】:

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

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

它不知道 taglib 标签

【问题讨论】:

    标签: java web.xml taglib struts-1


    【解决方案1】:

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

    您只需要在 JSP 页面中使用 &lt;%@ taglib %&gt; 指令即可使用 .tld 文件:

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

    【讨论】:

      【解决方案2】:

      &lt;taglib&gt; 标签必须在&lt;jsp-config&gt; 标签内。

      但是使用Struts2,你绝对不需要struts-html taglib,它来自更老的Struts 1,并且完全不同。

      只要浏览一下Struts2 的功能,你就会发现你不必再使用 html-tags 了,幸运的是。

      【讨论】:

        【解决方案3】:

        标签库有三种配置方式。

        1. 手动配置 throw web.xml: 确保将 tld 文件复制到 WEB-INF 文件夹,在 web.xml 中配置它们,如下所示,在 taglib 中使用 taglib 指令属性指令为&lt;%@ taglib uri="mytagliburi" prefix="ww" %&gt;

        .

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

        【讨论】:

          猜你喜欢
          • 2011-10-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-06-16
          相关资源
          最近更新 更多