<c:输出/>未知标记

2022-09-03 10:03:18

为什么我在左边的 eclipse 中收到错误消息,当我包含以下行时。

<c:out value=${variable}/>

我收到错误“未知标记(c:out)”

我也包括在顶部

<%@ page isELIgnored ="false" %> 

我需要包含 jstl 吗?


答案 1

你显然正在开发一个不支持JSTL的servlet容器,比如Tomcat。在这种情况下,您需要下载jstl-1.2.jar并放入web应用程序的文件夹中。不需要其他更改,也不会像一些糟糕的在线教程所建议的那样提取JAR文件和/或用松散的TLD文件散落在文件夹中。/WEB-INF/lib/WEB-INF

在类路径中删除 JAR 文件后(该文件夹是 Webapp 运行时类路径的一部分),您应该能够通过根据其文档将以下行放在 JSP 的顶部来引用 JSTL 核心 taglib:/WEB-INF/lib

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

JSTL 1.2 在 中至少需要 Servlet 2.4 声明。因此,请确保您具有正确的根声明,最好是 servlet 容器支持的最高支持版本(Tomcat 7 是 Servlet 3.0,Tomcat 6 是 Servlet 2.5,Tomcat 5.5 是 Servlet 2.4)。web.xmlweb.xml

另请参阅:

  • 我们的JSTL标签wiki页面(您可以通过将鼠标放在您自己放在问题上的标签上方并单击弹出框上的信息链接来访问此页面)[jstl]

答案 2

您需要在该页面上包含 JSTL 库的链接。本教程应为您提供必要的信息。