20

これは私が受け取っているエラーです、

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

JSP

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

はい、私は調査し、以前のスタックオーバーフローの投稿も見ました。しかし、私はまだ私の問題を解決できません。手伝ってください。

4

2 に答える 2

23

JSPBooleanではなく (nullable) にキャストしてみてください。boolean

if(((Boolean)session.getAttribute("loggedIn")))
{
    response.sendRedirect("Controller"); 
}
于 2012-06-03T20:17:19.533 に答える
8

で試してください

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

それ以外の:

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

属性はBoolean、プリミティブ型としてではなく、として取得する必要があります

于 2012-06-03T20:15:42.510 に答える