找不到“http://java.sun.com/jsp/jstl/core”的标记库描述符
根据您之前的问题之一,您正在使用Tomcat 7。在这种情况下,您需要 JSTL 1.2。但是,您有一个文件,而JSTL 1.2显然包含了版本号,如下所示。唯一文件名是 JSTL 1.0 和 1.1 的典型文件名。此版本需要一个包含必要 TLD 文件的 along。但是,在您的特定情况下,显然缺少,这正是无法解析taglib URI的原因。jstl.jar
jstl-1.2.jar
jstl.jar
standard.jar
/WEB-INF/lib
standard.jar
/WEB-INF/lib
要解决此问题,您必须删除错误的JAR文件,下载jstl-1.2.jar并将其全部放入.就这样。您无需提取它,也无需在项目的“构建路径”中进行操作。/WEB-INF/lib
不要忘记删除那个松散的文件。它绝对不属于那里。这确实在互联网其他地方的一些糟糕的教程或答案中得到了指导。这是一个由重大误解和错误配置引起的神话。在类路径中永远不需要有一个松散的 JSTL TLD 文件,在以前的 JSTL 版本中也是如此。c.tld
如果您使用的是 Maven,请使用以下坐标:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
您还应该确保您的声明至少符合 Servlet 2.4,因此不是 Servlet 2.3 或更早版本。否则,JSTL 标记中的 EL 表达式将反过来不起作用。选择与目标容器匹配的最高版本,并确保在 中没有任何下面是一个 Servlet 3.0 (Tomcat 7) 兼容的示例:web.xml
<!DOCTYPE>
web.xml
<?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>
###See还: