无法从Object转换为boolean

时间:2012-06-03 20:12:31

标签: java jsp servlets session-variables

这是我收到的错误,

org.apache.jasper.JasperException: Unable to compile class for JSP: 

    An error occurred at line: 13 in the jsp file: /index.jsp
    Cannot cast from Object to boolean

这是我的代码:

控制器Servlet

if(authentication.verifyCredentials(request.getParameter("username"), 
   request.getParameter("password")))
{
        session.setAttribute("username", request.getParameter("username"));
        session.setAttribute("loggedIn", true);
        dispatcher.forward(request, response);   
}

我也试过了,

session.setAttribute("loggedIn", new Boolean(true));

JSP

<% 
    if(session.getAttribute("loggedIn") != null)
    {
        if(((boolean)session.getAttribute("loggedIn")))
        {
            response.sendRedirect("Controller"); 
        }
    }   
%>

是的我研究过并且还看到了之前的stackoverflow post;但是我仍然无法解决我的问题。 请协助。

2 个答案:

答案 0 :(得分:23)

尝试在JSP中将其转换为Boolean(可为空)而不是boolean

if(((Boolean)session.getAttribute("loggedIn")))
{
    response.sendRedirect("Controller"); 
}

答案 1 :(得分:8)

尝试

   if(((Boolean)session.getAttribute("loggedIn")))

而不是:

   if(((boolean)session.getAttribute("loggedIn")))

属性必须被视为Boolean,而不是原始类型