【问题标题】:JSP what taglib should be added?JSP应该加什么taglib?
【发布时间】:2011-04-30 05:08:53
【问题描述】:

应该在 JSP 文件的开头添加以 开头的行,以便能够使用该标记。

我在 jsp 的开头添加了以下行。

但是 Eclipse IDE 说

“html:link”(org.apache.struts.taglib.html.LinkTag) 的标记处理程序类在 Java 构建路径中未找到

html:link > 标签旁边。

这里有什么问题?

我要做的是 - 通过 struts actionmapping 从 homepage.jsp 加载 page1.jsp

【问题讨论】:

  • taglib 是否在你的 taglib.tld 文件中声明?

标签: java jsp struts


【解决方案1】:

如果你已经下载了完整的struts jar,你不需要在web.xml中声明你的taglibs。

  1. here 下载 Struts。就我而言,我已经下载了 struts-1.3.10-all.zip
  2. 将所有 jar 从 <zipped file>\struts-1.3.10\lib 复制到您的 WEB-INF\lib 文件夹(在您的项目中)。
  3. 在每个将使用 JSP 标记的 JSP 页面的顶部,添加行来声明此特定页面上使用的 JSP 标记库,如下所示:

例子:

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>

更多关于Struts 1.x installation Guide

【讨论】:

    【解决方案2】:

    您必须在 web.xml 部署描述符中声明它:

      <taglib>
        <taglib-uri>http://struts.apache.org/tags-html</taglib-uri>
        <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
      </taglib>
    

    并在指定的位置保留一份 TLD 文件的副本。

    此外,您必须检查您的类路径(在本例中为 /WEB-INF/lib 文件夹)中是否包含 struts-taglib.jar

    【讨论】:

    • 我认为对于最新的容器,您不需要在 web.xml 中指定它。但是您必须将 tld 放在适当的文件夹中。例如在 WEB-INF 下。
    • @kukudas - 您无需将 TLD 文件放在任何地方。 taglibs 实现将在相关 JAR 的 META-INF 目录中找到 TLD。
    • 哦,对了,我记得在某处读过。所以基本上你只需要注意 JAR 文件在你的类路径上,是这样还是我错了?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-19
    • 2017-05-05
    • 2012-04-21
    • 2013-04-29
    相关资源
    最近更新 更多