2012-06-03 11 views
18

Este es el error que estoy recibiendo,no puede lanzar del objeto a booleano

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 

Este es mi código:

controlador servlet

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

También probé esto,

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

JSP

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

Sí he investigado y también vio la stackoverflow anterior post; sin embargo, todavía no puedo resolver mi problema. Por favor ayuda.

Respuesta

21

Prueba a transmitir a Boolean (anulable) en lugar de boolean en el JSP:

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

Recuerde, todos los tipos de letra minúscula son tipos primitivos incorporados que no extienden 'Objeto'. Si desea utilizarlos con referencias, debe usar las versiones en mayúsculas, que son tipos "en recuadro". – Wormbo

+0

¡Gracias por su útil consejo! Adelante, no puedo olvidarme de "Boolean" :) – mumair

8

tratan con

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

en lugar de:

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

atributo tiene que ser tomado como Boolean, no tipo tan primitivo

Cuestiones relacionadas