我是一名处理JSP页面的Perl开发人员。一切顺利,除了最后一个问题。当我刷新会话已过期的页面时,我收到以下错误。
org.apache.jasper.JasperException: An exception occurred processing JSP page... at line 10
在第10行,代码提取不再存在的会话变量。有没有办法编写代码,以便在会话变量不存在时存储假值。
boolean b_checkin = ((Boolean)session.getAttribute("session_checkin"));
感谢您的帮助。
答案 0 :(得分:1)
试试这个:
boolean b_checkin = session.getAttribute("session_checkin")!=null;
如果* session_checkin *属性为null,则b_checkin为false。否则是真的。
答案 1 :(得分:1)
请尝试使用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"));