如何解决:找不到“http://java.sun.com/jsp/jstl/core”的标签库描述符[重复]
Posted
技术标签:
【中文标题】如何解决:找不到“http://java.sun.com/jsp/jstl/core”的标签库描述符[重复]【英文标题】:How to resolve : Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core" [duplicate] 【发布时间】: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 的根标签 【参考方案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 的信息以获取其他信息。
【讨论】:
试试这个罐子repo1.maven.org/maven2/javax/servlet/jstl/1.2/jstl-1.2.jar【参考方案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 所提到的,为您的项目设置目标服务器。
【讨论】:
这对我有用!错误消失了。 如果您的部署服务器已有,请添加<scope>provided</scope>
。【参考方案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。
【讨论】:
这意味着您的库中有旧的 JSTL 1.0 版本。请阅读***.com/tags/jstl/info【参考方案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】:与<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
无关。
只需转到项目并右键单击然后项目菜单 -> 清理项目错误肯定会删除和更新 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 文件夹中
【讨论】:
以上是关于如何解决:找不到“http://java.sun.com/jsp/jstl/core”的标签库描述符[重复]的主要内容,如果未能解决你的问题,请参考以下文章
找不到“http://java.sun.com/jsp/jstl/core”的标签库描述符
无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]
无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]
信息: TLD skipped. URI: http://java.sun.com/jstl/* is already defined解决方法