标签中的 EL 评估

发布于 2024-09-25 20:13:13 字数 291 浏览 3 评论 0原文

在下面的代码片段中,目的是从变量中获取名称值,但是当使用 EL 尝试时不会输出任何值,而直接赋值工作正常。

<%! String sName; %>
<%  sName="ABC"; %>
<H3> Hello <c:out value="${sName}"/> </H3>
<H3> Hello <c:out value="ABC"/> </H3>

这里缺少什么或者出了什么问题?
提前致谢。

In the below code snippet, the intention is to take value for name from a variable, however no value gets output when it is tried with EL, while direct assignment works fine.

<%! String sName; %>
<%  sName="ABC"; %>
<H3> Hello <c:out value="${sName}"/> </H3>
<H3> Hello <c:out value="ABC"/> </H3>

What is missing or has gone wrong here?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

空袭的梦i 2024-10-02 20:13:13

当您编写 ${sName} 时,并不意味着页面会查找名称为 sName 的局部变量。您拥有的局部变量并不重要。

您可以通过 scriptlet 中的 request.setAttribute("sName", "some value") 等设置 sName 供以后使用。或者您可以使用 jstl 标签:

正如您所指出的,还有一个选项可以使用 scriptlet 打印局部变量的值: <%= sName %>

When you write ${sName}, it doesn't mean that page looks for local variable with name sName. Local variables you have are immaterial.

You can set sName for later use with something like request.setAttribute("sName", "some value") from scriptlet. Or you can use jstl tag: <c:set var="sName" value="some value"/>.

There's also an option to use scriptlet to print value of your local variable, as you noted: <%= sName %>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文