JSP会话变量不可用

时间:2014-03-05 14:46:05

标签: 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"));

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

试试这个:

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

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

答案 1 :(得分:1)

请尝试使用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"));