[英]Trying to print a session variable in a jsp causes error “equals expected”
我正在尝试将值从会话对象传递到自定义标记<l:LoginStatus userId="<% out.print((String)session.getAttribute("userId")); %>"/>
为什么这行给我错误:
org.apache.jasper.JasperException:/index.jsp(1,1)/header.jsp(64,131)应该等于符号
当我传递像这样的硬编码值时<l:LoginStatus userId="4"/>
一切正常。
对我来说这没有任何意义,我认为使用out.print
会使=
不必要。
另一种选择是只使用EL 。 这产生了更清晰的代码。
<l:LoginStatus userId="${userId}" />
它应该是:
<%= (String)session.getAttribute("userId") %>
通常,以这种方式执行操作而不是直接写到页面是更好的做法。 此外,事情并不完全像您认为的那样起作用。
在打印表达式的值时,应使语句为
<l:LoginStatus userId="<%=out.print((String)session.getAttribute("userId"))%>"/>
要么
<l:LoginStatus userId="<%=out.print(session.getAttribute("userId")).toString()%>"/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.