ChatGPT解决这个技术问题 Extra ChatGPT

Sun JSTL taglib 声明因“找不到标记库描述符”而失败 [重复]

这个问题在这里已经有了答案:Can not find the tag library descriptor for “http://java.sun.com/jsp/jstl/core” (17 answers) 7年前关闭。

我正在使用 JSP 页面来打印一组值。我正在尝试为此使用 JSTL <c:forEach>

<c:forEach items="${objects}" var="object">
    <td>${object.name} </td>
</c:forEach>

问题是我的 JSTL taglib 声明:

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

IDE 在此行显示错误

找不到标记库描述符。

许多论坛指向旧的 Sun 站点以下载 JSTL 库。现在所有这些链接都指向 Oracle 主页,而没有指向 JSTL 二进制文件的链接。这使我相信有一种更新的方法可以实现这一目标。

您在类路径中有 jstl.jar 吗?检查链接可能会有所帮助stackoverflow.com/questions/5987908/…

A
AdrieanKhisbe

要解决此问题:

jstl jar 应该在您的类路径中。如果您使用的是 maven,请使用此处提供的代码段在 pom.xml 中添加对 jstl 的依赖项。如果您不使用 maven,请从此处下载 jstl jar 并将其部署到您的 WEB-INF/lib 中。确保在 jsp 顶部有以下 taglib 指令:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>


JSTL 已被移动 - 使用此链接代替依赖项:mvnrepository.com/artifact/javax.servlet.jsp.jstl/jstl/1.2
好吧,原始帖子中提供的链接对我来说是开箱即用的。但是我确实建议将 https 添加到该链接而不是 http。
C
Community

只需检查我们自己的 JSTL wiki page,即可获得正确的下载链接和清晰的安装说明。

将鼠标放在您自己放置在问题上的 [jstl] 标签上方,直到出现一个黑框,然后单击其中的 info 链接。

然后向下滚动到 JSTL 版本信息,直到找到 JSTL 1.2(或 1.2.1)的下载链接。

最后,只需将该文件完全放入 webapp 的 /WEB-INF/lib

这样,taglib 声明就不能再给出任何错误,并且 JSTL tags and functions 应该可以正常工作。


另外,请确保您有 jstl-1.2.jar 而不一定是 jstl-api-1.2.jar
T
THIHA SOE

我只是想分享我的经验。我对使用 maven 的 jstl 有同样的问题。我通过添加两个依赖项来解决它。

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
    </dependency>
    <dependency>
        <groupId>jstl</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>

p
pivopil

如果您使用 Tomcat 服务器,我建议您将 JSTL .jar 文件放到 Tomcat lib 文件夹中。通过这样做,您将可以自动访问所有 Web 项目中的 JSTL(当然,在 .jsp 文件中使用 taglib 声明)。


B
Benoit Wickramarachi

您可以下载 Apache Standard Taglib 并将 jar 包含在您的项目中。


u
user2339071

这是对不使用 maven 的人的修复。您还需要将 standard.jar 添加到您的 lib 文件夹以使核心标记库正常工作。适用于 jstl 1.1 版。

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

A
Aris Capellos

我在使用 eclipse IDE 的 maven 项目中遇到了这个问题。我在项目的构建路径中更改了“顺序和导出”,将 Maven 依赖项放在首位,错误消失了。我猜这是因为 Eclipse IDE 最初是在加载 Maven 库之前构建我的应用程序源。


d
davidqwk

https://i.stack.imgur.com/UJAKF.png


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅