JSP 会话变量不可用

  • 本文关键字:变量 会话 JSP jsp
  • 更新时间 :
  • 英文 :


我是一个在JSP页面上工作的Perl开发人员。除了最后一个问题外,一切都很顺利。刷新会话已过期的页面时,我收到以下错误。

org.apache.jasper.JasperException: An exception occurred processing JSP page... at line 10

在第 10 行,代码拉取不再存在的会话变量。有没有办法编写代码,以便在会话变量不存在时存储假值。

boolean b_checkin = ((Boolean)session.getAttribute("session_checkin"));

感谢您的帮助。

尝试改用Booleanboolean 是基元类型,只能保存truefalse值。另一方面,Booleanboolean 基元类型的类包装器,因为它包含一个也接受null值的对象。因此,您可以将代码更新为:

Boolean b_checkin = (Boolean)session.getAttribute("session_checkin");
//if the session expired, then define a default value (probably false)
//otherwise, use the value obtained from session
b_checkin = (b_checkin == null) ? false : b_checkin;

一种简略的方法:

Boolean b_checkin = Boolean.TRUE.equals(session.getAttribute("session_checkin"));

试试这个:

boolean b_checkin = session.getAttribute("session_checkin")!=null;

如果 *session_checkin* 属性为 null,则 b_checkin 为 false。否则为真。

最新更新