<%@ 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 文件夹中 默认包含在部署程序集中