red*_*ddy 31 jsp jstl el scriptlet
以下代码导致错误:
<c:set var="test" value="test1"/>
<%
String resp = "abc";
resp = resp + ${test}; //in this line I got an Exception.
out.println(resp);
%>
Run Code Online (Sandbox Code Playgroud)
我不是在scriptlet.why中使用表达式语言"$ {test}"吗?
Ani*_*rni 59
JSTL变量实际上是属性,默认情况下是在页面上下文级别.
因此,如果需要在scriptlet中访问JSTL变量值,可以通过getAttribute()在适当范围的对象上调用方法(通常pageContext和请求)来实现.
resp = resp + (String)pageContext.getAttribute("test");
Run Code Online (Sandbox Code Playgroud)
完整代码
<c:set var="test" value="test1"/>
<%
String resp = "abc";
resp = resp + (String)pageContext.getAttribute("test"); //No exception.
out.println(resp);
%>
Run Code Online (Sandbox Code Playgroud)
更新
但为什么那个例外来找我.
一个JSP脚本用于包含任何代码片段是有效的页面中使用的脚本语言.scriptlet的语法如下:
<%
scripting-language-statements
%>
Run Code Online (Sandbox Code Playgroud)
当脚本语言设置为java时,scriptlet将转换为Java编程语言语句片段,并插入到JSP页面的servlet的service方法中.
在scriptlet中,您可以编写Java代码而${test}不是Java代码.
不相关的
| 归档时间: |
|
| 查看次数: |
73327 次 |
| 最近记录: |