31

我正在尝试使用 JSTL,但出现以下错误:

Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core"

这是如何引起的,我该如何解决?

4

8 回答 8

49

在您的 JSP 中使用 taglib 定义,或者最好将其包含在每个页面的第一行。

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

您的项目中还有修复jstl-1.2依赖项。还要在您的web.xml.

maven依赖是(maven是一个开源开发工具)

<dependency>
  <groupId>jstl</groupId>
  <artifactId>jstl</artifactId>
  <version>1.2</version>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>taglibs</groupId>
  <artifactId>standard</artifactId>
  <version>1.1.2</version>
  <scope>compile</scope>
</dependency>

web.xml开始写作

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
    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_2_5.xsd">

编辑:

我想添加一条注释,@informatik01 在评论中提到了有关可从 Maven 存储库获得的 JSTL 库的较新版本: JSTL 版本 1.2.1 APIJSTL 1.2.1

于 2013-03-15T14:36:57.443 回答
15

即使在为 jstl 和标准添加 jar 文件后,我也遇到了同样的问题。对我来说,在我为我的项目添加了目标运行时后它就解决了。

转到 Project Properties > Targeted Runtimes 并选择您正在使用的服务器(对我来说是 Tomcat 7.0)。

于 2013-09-18T05:48:12.963 回答
4

在 WEB-INF 目录里面创建一个 libs 文件夹并添加 jstl,标准 jars 如下。在此处输入图像描述

于 2015-06-09T11:14:00.530 回答
3

您可以尝试将包含 jsp-s 的文件夹设置为 eclipse 的源文件夹,这解决了我的相同问题。如下:

  1. 打开项目的属性。(右键单击项目,然后选择属性)
  2. 选择 Java Build Path,选择 Source 选项卡,单击 Add Folder 并选择包含您的 jsp-s 的文件夹,OK
于 2013-05-27T06:56:38.803 回答
1

您只需要将standard.jar文件包含在您的项目构建路径中。

于 2013-06-30T09:27:18.553 回答
1

在你的 pom.xml 中添加

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

并尝试运行

mvn eclipse:eclipse -Dwtpversion=2.0

会解决问题

于 2013-11-04T15:43:07.870 回答
0

我有类似的问题,为什么我们在使用maven时要添加外部jar文件?

我已经包含了 jstl maven 依赖项,然后我也遇到错误“找不到“ http://java.sun.com/jsp/jstl/core ”的标记库描述符。然后我包括以下依赖项然后错误得到解决,不包括任何单个外部 jar 文件。

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
</dependency>
于 2020-03-11T10:58:26.297 回答
-1

添加这 3 个文件以获得运行时支持

根据快照,错误的主要原因是您没有在 lib 文件夹中定义 c.tld导致此类错误。

这个lib内容关于taglib的信息

于 2016-06-05T15:08:17.550 回答