当前位置: 首页 > 知识库问答 >
问题:

找不到“”的标记库描述符http://java.sun.com/jsp/jstl/core”

亢保赫
2023-03-14

我已经在JSP页面的最顶端包含了以下内容:

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

我已经将JSTL JAR文件放在了WEB-INF/lib目录中。但是,JSP仍然不能解决taglib。我得到以下错误:

找不到“”的标记库描述符http://java.sun.com/jsp/jstl/core”

我正在使用Eclipse Juno,项目结构如下所示:

共有3个答案

常波鸿
2023-03-14

URI取决于您使用的JSTL版本。对于1.0版,请使用:

http://java.sun.com/jstl/core

对于1.1(及更高版本),您需要使用:

http://java.sun.com/jsp/jstl/core
谢清野
2023-03-14

我也有同样的问题,尽管有jstl

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

我还必须添加“标准”:

<dependency>
    <groupId>taglibs</groupId>
    <artifactId>standard</artifactId>
    <version>1.1.2</version>
</dependency>

此外,如前一篇文章所述:

  • 版本1.0使用:http://java.sun.com/jstl/core
  • 用于1.1(及以后)使用:http://java.sun.com/jsp/jstl/core
卫昊东
2023-03-14

找不到“”的标记库描述符http://java.sun.com/jsp/jstl/core”

根据前面的一个问题,您正在使用Tomcat 7。在这种情况下,您需要JSTL1.2。然而,这里有一个jstl。jar文件,而JSTL 1.2清楚地包含了版本号,如soJSTL-1.2。jar。唯一的文件名jstl。jar是JSTL 1.0和1.1的典型代表。此版本需要标准。jar以及包含必要TLD文件的/WEB-INF/lib。但是,在您的特定情况下,标准。jar/WEB-INF/lib中明显缺失,这正是taglib URI无法解析的原因。

要解决这个问题,必须删除错误的JAR文件,请下载jstl-1.2。jar并将其整体放入/WEB-INF/lib中。这就是全部。您不需要提取它,也不需要修改项目的构建路径。

不要忘记删除那个松散的c.tld文件。它绝对不属于那里。这确实是在互联网上其他地方的一些糟糕的教程或答案中指示的。这是一个重大误解和配置错误造成的神话。在类路径中永远不需要有一个松散的JSTL TLD文件,在以前的JSTL版本中也是如此。

如果使用Maven,请使用以下坐标:

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

您还应该确保声明的web.xml至少符合Servlet 2.4,因此不符合Servlet 2.3或更高版本。否则,JSTL标签中的EL表达式将无法工作。选择与目标容器匹配的最高版本,并确保您没有

<?xml version="1.0" encoding="UTF-8"?>
<web-app
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">

    <!-- Config here. -->

</web-app>

###另见:

  • 我们的JSTL wiki页面(您可以通过将鼠标悬停在jstl上并单击info link到达那里)
  • 如何安装JSTL?绝对uri:http://java.sun.com/jstl/core无法解决

 类似资料:
  • 我放置的uri是:“http://java.sun.com/jsp/jstl/core”。有人能解释一下为什么它会给我这个错误,我如何处理它吗?

  • 我正在使用Tomcat 6.0,并得到相同的红色下划线,表示“找不到的标记库描述符”http://java.sun.com/jsp/jstl/core" 我有基本索引。标记库uri为的jsp文件如下: 我添加了jstl-1.2。Tomcat和我的webapp文件夹下的jar 我的网络。xml文件如下所示,其中包含上述web应用程序规范 我仍然收到标记库描述符的红色下划线错误。关于我错过了什么有什么

  • 第1行和第2行有什么不同吗。jsp文件中的第2行没有给出任何错误,但另一个jsp中的第1行给出了错误 真正的JSTL1.0taglib使用URI http://java.sun.com/JSTL/core。 真正的JSTL 1.1/1.2 taglib使用URI http://java.sun.com/jsp/JSTL/core。 Facelets1.x使用URI http://java.sun.

  • 这里是我的web.xml 我使用的是WebLogic服务器版本:12.1.2.0.0

  • 问题内容: 我正在尝试遵循spring JPetStore的示例,但是在引用lib标记spring的行中的JSP页面中出现错误: 找不到“ http://www.springframework.org/tags”的标签库描述符 该库的URL是什么? 有什么方法可以避免直接依赖此URL? 提前致谢 问题答案: 下载Spring依赖项jar 将其放置到lib文件夹路径是/WEB-INF/lib/spr

  • 问题内容: 在我的电脑中,我有一个这样定义的名称空间。该URL处的服务器指示找不到该页面。 您知道页面已移到哪里吗? Eclipse资讯 问题答案: 为了解决这个问题,这就是我所做的: