如何在 <%= scriptlet %> 中访问 <c:set var>

How do I access <c:set var> in a <%= scriptlet %>

我开始学习关于 JSTL 标签的教程。使用的存储库教程太旧了,所以我想用一些较新的版本尝试一下。不幸的是,我现在被困住了。我会告诉你我做了什么,所以我希望你能帮助我。

我从这两个链接下载了 2 个 jar 文件:api, implementation

我得到的 Jar 文件,我在里面复制了 WebContent/Web-INF/lib。现在如果我这样做,我会得到一个错误:

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

<html>
<body>

<c:set var="varA" value="hello world" />
<%=varA %> //varA cannot be resolved to a variable

</body>
</html>

老实说,当 jar 文件确实在我项目的 lib 文件夹中时,我不知道为什么我们需要 import 语句。另外,有谁知道这里出了什么问题以及为什么编辑器找不到我的变量 varA?

无法使用 Scriptlet 直接 访问使用 JSTL 标签设置的变量。有两种方法可以访问 varA.

1.使用 JSTL 标签:

<c:set var="varA" value="hello world" />
<c:out value="${varA }"></c:out>

2。使用 pageContext.getAttribute:

<c:set var="varA" value="hello world" />
<%=pageContext.getAttribute("varA")%>