标签中的 EL 评估
在下面的代码片段中,目的是从变量中获取名称值,但是当使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当您编写
${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 namesName
. Local variables you have are immaterial.You can set
sName
for later use with something likerequest.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 %>