【问题标题】:No tag "choose" defined in tag library imported with prefix "c"以前缀“c”导入的标签库中没有定义标签“选择”
【发布时间】:2012-05-13 10:16:10
【问题描述】:

我是第一次使用 java 服务器页面,但我遇到了标签问题。如果相关的话,我也在 E​​clipse 中工作。

我得到的具体错误是:

org.apache.jasper.JasperException: /Query.jsp (line: 5, column: 0) No tag "choose" defined in tag library imported with prefix "c"

问题是,一个带有前缀c的标签“选择”...

我在使用通常推荐的 url 时遇到了问题,其中一些似乎已经过时,所以我下载了标准标签并将它们提取到我的 WEB-INF/tags 目录中。

我的 jsp 文件开头为:

<%@ page contentType="text/html" import="beans.*" %>
<%@ taglib prefix="c" tagdir="/WEB-INF/tags/c.tld" %>
<%@ taglib prefix="sql" tagdir="/WEB-INF/tags/sql.tld" %>
<%@ taglib prefix="fn" tagdir="/WEB-INF/tags/fn.tld" %>    
<c:choose>
....

c.tld 有:

...
<tag>
    <description>
        Simple conditional tag that establishes a context for
        mutually exclusive conditional operations, marked by
        &lt;when&gt; and &lt;otherwise&gt;
    </description>
    <name>choose</name>
    <tag-class>org.apache.taglibs.standard.tag.common.core.ChooseTag</tag-class>
    <body-content>JSP</body-content>
</tag>

我猜测某处存在某种配置错误,但我完全不知道它可能在哪里。

【问题讨论】:

  • 请将鼠标放在问题下方的[jstl]标签上方,直到弹出一个框,然后单击其中的信息链接。

标签: jsp jstl


【解决方案1】:

您的 taglib 声明是错误的。替换这个:

<%@ taglib prefix="c" tagdir="/WEB-INF/tags/c.tld" %>

用这个:

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

并确保它不是 (正如一些古老的教程所说):

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

... 并重复其他库。您不需要自己的 .tld 文件副本,它们不再需要。

我在使用通常推荐的网址时遇到了问题,其中一些似乎已经过时了

我不确定你从哪里得到的,但几乎所有 JSP/servlet 引擎都可以使用我提到的 URI。如果这些 URI不起作用,则发布一个新问题。下载您自己的 tld 文件几乎肯定不是正确的方法。

【讨论】:

  • 我做出了改变,现在我得到了org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application 我认为“无法解决”是我认为它们已经过时的原因。我发现了一些可能是关键的版本,但欢迎任何其他建议!谢谢!
  • 请不要更改 taglib URI,因为 skaffman 包含在他的答案中。
  • @usmcs: http://java.sun.com/jstl/core 不是我说的;请阅读答案。
  • @skaffman 哎呀!我的错。我已经修复了网址,但我仍然遇到同样的“未解决”问题,但我认为这是在我调查后的另一个帖子的问题。谢谢!
猜你喜欢
  • 2014-04-09
  • 2012-06-28
  • 2017-03-09
  • 2011-03-13
  • 2019-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多