【问题标题】:How to resolve : Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core" [duplicate]如何解决:找不到“http://java.sun.com/jsp/jstl/core”的标签库描述符[重复]
【发布时间】:2011-08-24 16:18:59
【问题描述】:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="com.library.controller.*"%>
<%@ page import="com.library.dao.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.lang.*" %>
<%@ page import="java.util.Date" %>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Return Page</title>
</head>
<body bgcolor="#aabcde">
<div align="right"><a href="Login.jsp">Logout</a></div>
<table align="center" border="2" cellspacing="3" cellpadding="3">
<tr><th>BookID</th><th>BookName</th><th>Issuedate</th><th>returndate</th></tr>
<c:forEach var="element" items="${list}">
    <tr>
        <td>${element.getBookid}</td><td>${element.getBookname()}</td>  
        <td>${element.getIssuedate()}</td><td>${element.getReturndate()}</td>
    </tr>
</c:forEach>

Eclipse IDE 显示红色下划线,当我关注它时,标签是:找不到http://java.sun.com/jsp/jstl/core 的库描述符

【问题讨论】:

  • 您在查看文件或运行网络应用程序时在编辑器中收到此错误?
  • 您使用的是什么服务器?你添加了什么库?
  • 同时发布你的 web.xml 的根标签

标签: java jsp jstl


【解决方案1】:

我知道这个线程现在已经有一年了,但是遇到了同样的问题,我设法通过为我的项目设置目标服务器来解决问题。

即右键单击您的项目并选择“属性”->“目标运行时”,然后选择要在其上运行 Web 应用程序的服务器(Tomcat 6 或 7)。

【讨论】:

  • 这很有帮助,而且不明显!谢谢。
  • 上帝感谢您的回答。
  • 您可能还需要在代码的 taglib 定义行上的错误图标的左边单击鼠标右键并选择“验证”选项以在设置目标运行后消除错误-时间。 Eclipse 中的 Clean and Build 选项似乎不会重新验证资源。
  • 谢谢。你拯救了我的一天
  • 在我的情况下,Tomcat 6 已经设置好了,取消选中并再次检查就可以了!
【解决方案2】:

我也用这个

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

但我没有收到任何错误。

您是否将jstl.jar 包含在您的库中?如果不是,这可能会导致问题。还有'tld'文件夹你有吗?你的web.xml 怎么样了?

查看有关jstl 的信息以获取其他信息。

【解决方案3】:

正如@ace 提到的,您的项目中将需要 jstl.jar,因此如果您使用的是 maven,则可以添加此依赖项:

<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

来源:http://mvnrepository.com/artifact/jstl/jstl/

希望对你有帮助。

编辑:大部分服务器已经有了这个依赖,如果你使用maven添加它,如果你没有很好地配置服务器可能会导致版本冲突(如Method/ClassNotFoundException),所以最好正如@willix 所提到的,为您的项目设置目标服务器。

【讨论】:

  • 这对我有用!错误消失了。
  • 如果您的部署服务器已有,请添加&lt;scope&gt;provided&lt;/scope&gt;
【解决方案4】:

尝试像这样添加:

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

而不是拥有

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

【讨论】:

  • 感谢您的回答
  • 对我不起作用。
  • 就我而言,我将其硬编码为使用“https”而不是“http”...#facepalm
【解决方案5】:

同时添加 javax.servlet.jsp.jstl-api-1.2.1.jar 和 standard-1.1.2.jar

【讨论】:

  • 如果您同时添加这两个 jar,它肯定会起作用。谢谢...:)
  • 添加这两个 jar 并在我的 JSP 顶部添加路径;很适合我!
  • 也适用于我。最初我只有 jstl-api,但没有找到库描述符。添加jstl jar后它解决了
【解决方案6】:

经过几次点击和试用后,我使用了它。这对我有用。

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

警告:正如 BalusC 正确提到的,这适用于 JSTL 1.0。

【讨论】:

【解决方案7】:

您的目标可能是没有内置 JSTL 支持的服务器(例如,某些版本的 Tomcat。)您需要提供自己的 JSTL 标记库。

【讨论】:

    【解决方案8】:

    将下面两个jar粘贴到/WEB-INF/lib文件夹中,然后转到项目属性并转到添加jar并选择这两个jar,然后单击确定,确定

    标准.jar, jstl-1.0.2.jar

    【讨论】:

    • standard.jar 为我修复了它,仅在 pom 中不起作用
    【解决方案9】:

    我尝试使用验证工具在 Eclipse 中“验证”de *.jsp 和 *.xml 文件。

    “右键单击目录/文件->-验证”,它起作用了!

    使用 eclipse juno。

    希望对你有帮助!

    【讨论】:

      【解决方案10】:

      使用:

      标准.jar

      解决问题。

      【讨论】:

        【解决方案11】:

        &lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&gt;无关。

        只需转到项目并右键单击然后项目菜单 -> 清理项目错误肯定会删除和更新 maven。

        【讨论】:

        • @Buddhashwar Ojhar 很好的答案!你说得对:)我用你的解决方案解决了这个问题
        【解决方案12】:

        你必须写成

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

        确保您有 jstl-1.0 和 standard.jar BOTH 文件都放在类路径中

        【讨论】:

          【解决方案13】:

          当您将两个所需的 jar 文件放在 /WEB-INF/lib 文件夹下时,它将完美地工作,即 jstl-1.2.jar 和 /WEB-INF/lib 文件夹下的 javax.servlet.jsp。

          希望对您有所帮助。 :)

          【讨论】:

            【解决方案14】:

            我解决了这个问题。 在标签库下面使用

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

            并添加jstl-1.2.jar

            【讨论】:

            • 对我有用的简单答案
            【解决方案15】:

            这应该有效

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

            此外,请让我们知道您为什么要导入所有这些类

            <%@ page import="com.library.controller.*"%> 
            <%@ page import="com.library.dao.*" %> 
            <%@ page import="java.util.*" %> 
            <%@ page import="java.lang.*" %> 
            <%@ page import="java.util.Date" %>
            

            我们不需要包含 java.lang,因为它是默认包。

            【讨论】:

              【解决方案16】:

              我会再添加一个解决方案。我下载了一个示例应用程序,它只压接在这个 taglib 上。原来它并不关心属性周围的单引号。

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

              一旦我更改了这些并确保 jstl.jar 在网络应用程序中,我就可以开始了。

              【讨论】:

                【解决方案17】:

                我在库中添加了 jstl jar 并将其添加到构建路径和部署程序集,但它确实有效。 然后我简单地将我的 jstl jar 复制到 webcontent 内的 lib 文件夹中,它起作用了。 默认情况下包含在部署程序集中的 eclipse lib 文件夹中

                【讨论】:

                  猜你喜欢
                  • 2013-03-04
                  • 1970-01-01
                  • 2018-11-22
                  • 2015-03-07
                  • 2015-09-30
                  • 2021-08-27
                  • 2015-02-09
                  • 2011-09-13
                  相关资源
                  最近更新 更多