<c:out/>未知标签

问题描述 投票:0回答:6

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

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

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

我也包括在上面

<%@ page isELIgnored ="false" %> 

我需要包含 jstl 吗?

java eclipse jsp tags jstl
6个回答
34
投票

您显然正在使用不支持开箱即用的 JSTL 的 servlet 容器(例如 Tomcat)进行开发。在这种情况下,您需要下载 jstl-1.2.jar 并将其放入 Web 应用程序的

/WEB-INF/lib
文件夹中。 其他更改是必要的,也不要像一些糟糕的在线教程所建议的那样提取 JAR 文件和/或在
/WEB-INF
文件夹中散布松散的 TLD 文件。

将 JAR 文件放入类路径后(

/WEB-INF/lib
文件夹是 Web 应用程序的运行时类路径的一部分),您应该能够按照 其文档将以下行放在 JSP 顶部来引用 JSTL 核心标记库

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

JSTL 1.2 至少需要

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

另请参阅:

  • 我们的 JSTL 标签 wiki 页面(您可以将鼠标放在您自己放在问题上的
    [jstl]
    标签上,然后单击弹出框上的 info 链接来访问此页面)

0
投票

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


0
投票

我正在学习 Spring Framework Security 教程。 我导入了一个maven教程项目,编译并看到警告“未知标签”。 jstl-1.2.jar 已位于项目类路径中。问题是该项目附带了 1.6 运行时库,我的机器上只安装了 1.7。我更换了库,它解决了问题。


0
投票

在 JSP 文件顶部添加给定行:

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

而且,您还需要做的一件事是, 从此 maven 存储库链接复制依赖项并将其粘贴到项目的

pom.xml


0
投票

如果您使用 maven 依赖项,请查看 jstl 1.2 依赖项是否已正确添加。 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 在您的 jsp 页面中使用此标记。 如果出现 url 错误,则只需重写 url 并保存即可。 并且还将java的版本更改为8并将spring boot版本更改为2.7.17


-1
投票

我在练习jsp编码时遇到了同样的问题。以下对我有用 - (简而言之)

使用

jstl 1.2.jar
代替
jstl.jar
与:

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
© www.soinside.com 2019 - 2024. All rights reserved.