我是一个在JSP页面上工作的Perl开发人员。除了最后一个问题外,一切都很顺利。刷新会话已过期的页面时,我收到以下错误。
org.apache.jasper.JasperException: An exception occurred processing JSP page... at line 10
在第 10 行,代码拉取不再存在的会话变量。有没有办法编写代码,以便在会话变量不存在时存储假值。
boolean b_checkin = ((Boolean)session.getAttribute("session_checkin"));
感谢您的帮助。
尝试改用Boolean
。 boolean
是基元类型,只能保存true
或false
值。另一方面,Boolean
是 boolean
基元类型的类包装器,因为它包含一个也接受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。否则为真。