1
resposta

Não foi possível ler a propriedade [login]

Estou com uma duvida ao que se refere o erro a seguir, pois se eu não colocar o ."login" ele funciona normalmente mostrando o espaço do objeto na memoria. Qual seria a solução para este caso já que análise o código do "Login.java", "Usuario.java" e "Banco.java" eles estão idênticos

org.apache.jasper.JasperException: An exception occurred processing [/WEB-INF/view/listaEmpresas.jsp] at line [16]

13: </head>
14: <body>    
15:     
16:     Usuario Logado: ${ usuarioLogado.login }
17:     
18:     <br>
19:     <br>


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:610)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:499)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    br.com.gerenciador.servlet.UnicaEntradaServlet.service(UnicaEntradaServlet.java:50)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Root Cause

javax.el.PropertyNotFoundException: Não foi possível ler a propriedade [login] no tipo [br.com.gerenciador.modelo.Usuario]
    javax.el.BeanELResolver$BeanProperty.read(BeanELResolver.java:302)
    javax.el.BeanELResolver$BeanProperty.access$000(BeanELResolver.java:260)
    javax.el.BeanELResolver.getValue(BeanELResolver.java:83)
    org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:124)
    org.apache.el.parser.AstValue.getValue(AstValue.java:168)
    org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189)
    org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:692)
    org.apache.jsp.WEB_002dINF.view.listaEmpresas_jsp._jspService(listaEmpresas_jsp.java:152)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    br.com.gerenciador.servlet.UnicaEntradaServlet.service(UnicaEntradaServlet.java:50)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
1 resposta

Olá Geovanny, tudo bem com você?

Peço desculpas pela demora em obter um retorno.

A mensagem de erro apresentada javax.el.PropertyNotFoundException: Não foi possível ler a propriedade [login] no tipo [br.com.gerenciador.modelo.Usuario], indica que a propriedade login do objeto usuarioLogado não foi encontrada. Quando usamos o .login estamos chamando o método getter do objeto usuarioLogado.

Peço que verifique se a propriedade login está declarada corretamente na classe Usuario e se ela possui os métodos getters e setters declarados corretamente. A classe Usuario presente no arquivo Usuario.java deve ser declarada como apresentado abaixo:

package br.com.alura.gerenciador.modelo;

public class Usuario {

    private String login;
    private String senha;

    public String getLogin() {
        return login;
    }

    public void setLogin(String login) {
        this.login = login;
    }

    public String getSenha() {
        return senha;
    }

    public void setSenha(String senha) {
        this.senha = senha;
    }

    public boolean ehIgual(String login, String senha) {
        if(!this.login.equals(login)) {
            return false;
        }
        
        if(!this.senha.equals(senha)) {
            return false;
        }
        
        return true;
    }
}

Após realizar a verificação, salve o arquivo e reinicie o servidor. Realize um novo login na aplicação e verifique o resultado apresentado.

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!