无法从对象转换为布尔值

2022-09-02 09:44:49

这是我收到的错误,

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

这是我的代码:

控制器服务

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));

断续器

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

是的,我研究并看到了以前的堆栈溢出帖子;但是我仍然无法解决我的问题。请协助。


答案 1

尝试将其转换为(可为 null)而不是在 JSP 中:Booleanboolean

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

答案 2

尝试使用

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

而不是:

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

属性必须被取为 ,而不是基元类型Boolean