Cannot cast from Object to boolean
29,433
Solution 1
Try casting it to Boolean
(nullable) instead of boolean
in the JSP:
if(((Boolean)session.getAttribute("loggedIn")))
{
response.sendRedirect("Controller");
}
Solution 2
try with
if(((Boolean)session.getAttribute("loggedIn")))
instead of:
if(((boolean)session.getAttribute("loggedIn")))
attribute has to be taken as Boolean
, not as primitive type
Comments
-
Dennis almost 4 years
This is the error I am receiving,
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
This is my code:
Controller Servlet
if(authentication.verifyCredentials(request.getParameter("username"), request.getParameter("password"))) { session.setAttribute("username", request.getParameter("username")); session.setAttribute("loggedIn", true); dispatcher.forward(request, response); }
I also tried this,
session.setAttribute("loggedIn", new Boolean(true));
JSP
<% if(session.getAttribute("loggedIn") != null) { if(((boolean)session.getAttribute("loggedIn"))) { response.sendRedirect("Controller"); } } %>
Yes I researched and also saw the previous stackoverflow post; however I still cannot resolve my problem. Please assist.
-
Wormbo almost 12 yearsRemember, all the lowercase types are built-in primitive types not extending
Object
. If you want to use them with references, you need to use the uppercase versions, which are "boxed" types. -
mumair over 8 yearsThank you for handy tip! Onward I can't forget 'Boolean' :)