gpt4 book ai didi

jsp - 在 Scriptlet 中访问 JSTL/EL 变量

转载 作者:行者123 更新时间:2023-12-03 08:54:05 26 4
gpt4 key购买 nike

以下代码导致错误:

<c:set var="test" value="test1"/>
<%
String resp = "abc";
resp = resp + ${test}; //in this line I got an Exception.
out.println(resp);
%>

为什么我不能在 scriptlet 中使用表达式语言“${test}”?

最佳答案

JSTL变量实际上是属性,默认情况下在页面上下文级别范围内。
因此,如果您需要访问 scriptlet 中的 JSTL 变量值,您可以通过调用 getAttribute() 来实现。适当范围的对象上的方法(通常是 pageContext 和请求)。

resp = resp + (String)pageContext.getAttribute("test"); 

全码
 <c:set var="test" value="test1"/>
<%
String resp = "abc";
resp = resp + (String)pageContext.getAttribute("test"); //No exception.
out.println(resp);
%>

But why that exception come to me.



JSP scriptlet用于包含对页面中使用的脚本语言有效的任何代码片段。 scriptlet 的语法如下:
<%
scripting-language-statements
%>

当脚本语言设置为 Java 时, 一个 scriptlet 被转换成一个 Java 编程语言语句片段,并被插入到 JSP 页面的 servlet 的服务方法中。

在 scriptlet 中,您可以编写 Java 代码和 ${test}不是 Java 代码。

不相关
  • How to avoid Java Code in JSP-Files?
  • 关于jsp - 在 Scriptlet 中访问 JSTL/EL 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19807156/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com