Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro na hora de mostrar a data

Olá, eu estou com 2 problemas, o primeiro é na minha pagina do JSP responsavel por listar a empresa, ele me retorna esse erro

org.apache.jasper.JasperException: An exception occurred processing [/listaEmpresas.jsp] at line [14]

11: 12:

  • 13: <c:forEach items="${empresas}" var="empresa"> 14:
  • ${empresa.nome} - <fmt:formatDate value="${empresa.dataAbertura}" pattern="dd/MM/yyyy"/>
  • 15: 16:
17:

Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:625) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:514) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) br.com.alura.ListarEmpresaServlet.doGet(ListarEmpresaServlet.java:30) javax.servlet.http.HttpServlet.service(HttpServlet.java:634) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) Root Cause

javax.el.PropertyNotFoundException: Property [dataAbertura] not found on type [br.com.alura.Empresa]

E a segunda duvida é, por que o Nico consegue rodar o JSP direto sem antes rodar o servlet que supostamente iria passar as informações pra listar as empresas? Sempre que eu tento rodar direto o JSP para listar as empresas cadastradas ele simplesmente não retorna nenhuma empresa, nem mesmo as empresas q foram cadastradas no bloco estatico do banco. Obrigado desde já.

2 respostas

Olá Anderson!

O erro está dizendo que não há o atributo dataAbertura na sua classe Empresa.

Poderia verificar se não tem mesmo, por favor?

Caso tenha, veja se os nomes estão iguais (eles precisam ser, tanto na classe quanto na JSP).

Sobre o JSP, ele não deveria retornar mesmo as empresas pois essa lista é passada pela Servlet. Se você tenta acessar a JSP diretamente o resultado será vazio.

solução!

Oi Guilherme! Então, a minha classe Empresa ta assim

public class Empresa {
    private Integer id;
    private String nome;
    private Date dataAbertura;

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return this.id;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getNome() {
        return this.nome;
    }

    public void setData (Date dataAbertura) {
        this.dataAbertura = dataAbertura;
    }

    public Date getData() {
        return this.dataAbertura;
    }
}

eu até copiei e colei o nome da variavel la no empresa.dataAbertura mas mesmo assim ele ainda esta retornando erro :(