如何解决:无法find“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显示红色下划线,当我关注它时,标记是:无法findhttp://java.sun.com/jsp/jstl/core的库描述符
我也用这个
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
但我没有得到任何错误。
你把库中的jstl.jar
join了吗? 如果不是这可能导致问题。 还有'tld'文件夹你有吗? 你的web.xml
是如何映射的?
查看关于jstl的其他信息。
我知道这个线程现在是一岁,但经历了同样的问题,我设法通过为我的项目设置一个目标服务器来解决这个问题。
即右键单击您的项目,然后select“属性” – >“目标运行时”,然后select要在(Tomcat 6或7)上运行Web应用程序的服务器。
作为@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),如果你不configuration服务器,所以最好为您的项目设置一个目标服务器,作为@ willix提到。
尝试添加像这样:
<%@taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
而不是有
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
经过几次打击和审判,我用这个。 这对我有用。
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
警告:正如BalusC正确提到的,这适用于JSTL 1.0。
添加javax.servlet.jsp.jstl-api-1.2.1.jar和standard-1.1.2.jar
您可能将目标locking为没有内置JSTL支持的服务器(例如某个版本的Tomcat)。您将需要configuration您自己的JSTL标签库。
我尝试在eclipse中使用validation工具“validation”de * .jsp和* .xml文件。
“右键点击目录/文件 – > – validation”,它的工作!
使用Eclipse的Juno。
希望能帮助到你!
使用:
standard.jar
解决问题。
粘贴在你的/ WEB-INF / lib目录下的两个jar文件夹下,然后进入项目属性,然后添加jar并select这两个jar文件,然后点击Ok,Ok
standard.jar,jstl-1.0.2.jar
它没有任何关于<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
。
只要去项目,然后右键单击然后项目菜单 – >清理项目错误将一定删除和更新的Maven。
当您将两个必需的jar文件放在/ WEB-INF / lib文件夹(即/ WEB-INF / lib文件夹下的jstl-1.2.jar和javax.servlet.jsp)下时,它将完美工作。
希望能帮助到你。 🙂
我解决了这个问题。 在taglib下面使用
<%@ 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" %>
而且请让我们知道你为什么要input所有这些课程
<%@ 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,因为它是默认的包。
我会再投入一个解决scheme。 我下载了一个示例应用程序,它只在这个taglib上curl。 原来,它并不关心属性的单引号。
<%@ taglib prefix='c' uri='http://java.sun.com/jsp/jstl/core' %>
一旦我改变了这些,并确保jstl.jar在networking应用程序,我很好去。
我在库中添加了jstl jar,并添加了它来构buildpath和部署程序集,但它的工作。 然后我简单地将我的jstl jar复制到webcontent里面的lib文件夹中,它工作。 在eclipse中的lib文件夹中默认包含到部署程序集中
你必须写作
<%@taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
确保你有jstl-1.0&standard.jar这两个文件都放在classpath中