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

Property [dataDeAbertura] not found on type

Boa tarde, venho acompanhando as aulas e praticando juntamente ao instrutor do curso, mas meu servlet vive mandando "HTTP 500" quando vou tentar vizualizar a lista de empresas quando está populada, quando está vazia ela roda normalmente sem nenhum erro. To quase ficando maluco sem saber como resolver isso. Quem puder me ajudar desde já eu agradeço!

5 respostas

Oi Kelvin, tudo bem?

Quando ocorre esse erro 500 qual é o stack trace de erro que estoura no log da aplicação?

HTTP Status 500 – Internal Server Error Type Exception Report

Message An exception occurred processing [WEB-INF/view/listaEmpresas.jsp] at line [35]

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

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

32: <c:forEach items="${empresas}" var="empresa"> 33:34:

  • 35: ${empresa.nome } - <fmt:formatDate value="${empresa.dataDeAbertura }" pattern="dd/MM/yyyy"/> 36: editar 37: remover 38:

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.gerenciador.servlet.ControladorFilter.doFilter(ControladorFilter.java:55) br.com.alura.gerenciador.servlet.AutorizacaoFilter.doFilter(AutorizacaoFilter.java:43) br.com.alura.gerenciador.servlet.MonitoramentoFilter.doFilter(MonitoramentoFilter.java:30) Root Cause

javax.el.PropertyNotFoundException: Property [dataDeAbertura] not found on type [br.com.alura.gerenciador.modelo.Empresa] javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:260) javax.el.BeanELResolver$BeanProperties.access$300(BeanELResolver.java:212) javax.el.BeanELResolver.property(BeanELResolver.java:333) javax.el.BeanELResolver.getValue(BeanELResolver.java:92) org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:125) org.apache.el.parser.AstValue.getValue(AstValue.java:169) org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:190) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:701) org.apache.jsp.WEB_002dINF.view.listaEmpresas_jsp.jspxmeth_fmt_005fformatDate_005f0(listaEmpresas_jsp.java:341) org.apache.jsp.WEB_002dINF.view.listaEmpresas_jsp.jspxmeth_c_005fforEach_005f0(listaEmpresas_jsp.java:295) org.apache.jsp.WEB_002dINF.view.listaEmpresas_jsp.jspService(listaEmpresasjsp.java:173) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476) 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.gerenciador.servlet.ControladorFilter.doFilter(ControladorFilter.java:55) br.com.alura.gerenciador.servlet.AutorizacaoFilter.doFilter(AutorizacaoFilter.java:43) br.com.alura.gerenciador.servlet.MonitoramentoFilter.doFilter(MonitoramentoFilter.java:30) Note The full stack trace of the root cause is available in the server logs.

// esse é o StackTrace, eu vi que esta dando Property Not Found do DataDeAbertura, mas eu tenho esse atributo ja instanciado na classe Empresa

package br.com.alura.gerenciador.modelo;

import java.util.Date;

public class Empresa {

private Integer id;
private String nome;
private Date dataDeAbertura = new Date();


public Integer getId() {
    return id;
}

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

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

public String getNome() {
    return nome;
}

public Date getDataDeAbertura() {
    return dataDeAbertura;
}

public void setDataDeAbertura(Date dataDeAbertura) {
    this.dataDeAbertura = dataDeAbertura;
}    

}

Essa é a classe Empresa.

solução!

Obrigado, por se disponibilizar para me ajudar Otávio mas consegui resolver aqui kkkkkkk. Indo a fundo quando entrei nas bibliotecas tinha dois jar's iguais "JSTL-1.2.JAR", o programa esta compilando e rodando normalmente, mas dava HTTP500 apenas quando abria o "ListaEmpresas" os outras jsps e servlets rodavam normalmente. Mais uma vez obrigado.

Oi Kelvin, tudo bem?

Por nada amigo, fico feliz em ajudar. Obrigado por compartilhar a solução, pode ser que ajude outros alunos :)

Abraço e bons estudos!