我正在尝试使用 JSTL,但出现以下错误:
Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core"
这是如何引起的,我该如何解决?
在您的 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 API和JSTL 1.2.1。
即使在为 jstl 和标准添加 jar 文件后,我也遇到了同样的问题。对我来说,在我为我的项目添加了目标运行时后它就解决了。
转到 Project Properties > Targeted Runtimes 并选择您正在使用的服务器(对我来说是 Tomcat 7.0)。
在 WEB-INF 目录里面创建一个 libs 文件夹并添加 jstl,标准 jars 如下。
您可以尝试将包含 jsp-s 的文件夹设置为 eclipse 的源文件夹,这解决了我的相同问题。如下:
- 打开项目的属性。(右键单击项目,然后选择属性)
- 选择 Java Build Path,选择 Source 选项卡,单击 Add Folder 并选择包含您的 jsp-s 的文件夹,OK
您只需要将standard.jar
文件包含在您的项目构建路径中。
在你的 pom.xml 中添加
<!-- jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
并尝试运行
mvn eclipse:eclipse -Dwtpversion=2.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>