解决方法:找不到"http://java.sun.com/jsp/jstl/core"的标签库描述符


<%@ 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 应用程序的服务器(Tomcat 6 或 7)。

我也用这个

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

但我没有得到任何错误。

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

有关其他信息,请查看有关 jstl 的信息。

正如@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所述。

尝试像这样添加:

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

而不是拥有

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

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

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

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

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

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

粘贴到

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

标准.jar,JSTL-1.0.2.jar

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

"右键单击目录/文件 ->- 验证"它奏效了!

使用日食朱诺。

希望对您有所帮助!

使用:

标准.jar

解决了问题。

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

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

你必须写成

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

确保你有 jstl-1.0 和标准.jar这两个文件都放在类路径中

当您将两个必需的 jar 文件放在/WEB-INF/lib 文件夹下时,它将完美运行,即JSTL-1.2.jar和javax.servlet.jsp在/WEB-INF/lib文件夹下。

希望对您有所帮助。 :)

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

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

并添加 JSTL-1.2.jar

这应该有效

<%@ 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,因为它是默认包。

我将在

混合中再抛出一个解决方案。我下载了一个示例应用程序,它只在这个标签库上压接。事实证明,它并不关心属性周围的单引号。

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

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

我在库中添加了 jstl jar 并将其添加到构建路径和部署程序集中,但它不起作用。然后我只是简单地将我的 JSTL jar 复制到 WebContent 中的 lib 文件夹中,它起作用了。在 Eclipse lib 文件夹中 默认包含在部署程序集中

相关内容

最新更新