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

时间:2013-03-15 14:23:06

标签: java jsp jstl

我正在尝试使用JSTL,但是我收到以下错误:

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

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

8 个答案:

答案 0 :(得分:46)

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

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

您的项目中还有修复jstl-1.2依赖项。也可以在web.xml中使用至少2.4的servlet规范。

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 version 1.2.1 APIJSTL 1.2.1

答案 1 :(得分:14)

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

转到项目属性&gt; Targeted Runtimes并选择您正在使用的服务器(Tomcat 7.0 for me)。

答案 2 :(得分:3)

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

  
      
  1. 打开项目的属性。(右键单击项目,然后选择属性)
  2.   
  3. 选择Java Build Path,选择Source选项卡,单击Add Folder并选择包含jsp-s的文件夹,确定
  4.   

答案 3 :(得分:3)

在WEB-INF目录中创建一个libs文件夹,并添加jstl,标准jar,如下所示。enter image description here

答案 4 :(得分:1)

Dude只在项目构建路径中包含standard.jar文件。

答案 5 :(得分:1)

你的pom.xml中的

只需添加

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

然后尝试运行

mvn eclipse:eclipse -Dwtpversion=2.0

将解决问题

答案 6 :(得分: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>

答案 7 :(得分:-1)

Add this 3 file for runtime support as well`

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

有关taglib的lib内容信息