在下面的代码片段中,目的是从变量中获取名称的值,但是在尝试使用 EL 时没有输出任何值,而直接赋值工作正常。
<%! String sName; %>
<% sName="ABC"; %>
<H3> Hello <c:out value="${sName}"/> </H3>
<H3> Hello <c:out value="ABC"/> </H3>
这里缺少什么或出了什么问题?
提前致谢。
最佳答案
当你写 ${sName}
, 这并不意味着页面会查找名称为 sName
的局部变量.你拥有的局部变量是无关紧要的。
可以设置sName
供以后与 request.setAttribute("sName", "some value")
之类的东西一起使用来自脚本。或者你可以使用 jSTL 标签:<c:set var="sName" value="some value"/>
.
还有一个选项可以使用 scriptlet 来打印局部变量的值,正如您所指出的:<%= sName %>
关于java - 标签中的 EL 评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3810971/