4
respostas

javax.el.PropertyNotFoundException [dataAbertura] not found on type

Ola bom dia, quando coloco a data no listEmpresas.jsp me retorna um erro 500 dizendo:

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

Exception

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

16:         
17:         <ul>
18:             <c:forEach items="${empresas}" var="empresa">
19:                 <li> ${empresa.nome} - <fmt:formatDate value="${empresa.dataAbertura }" pattern="dd/MM/yyyy"/> </li>
20:             </c:forEach>
21:         </ul>
22:     </body>

Gostaria de uma ajuda por favor, para saber qual motivo que não esta reconhecendo a dataAbertura, obrigado.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>

<%@ page import="java.util.List, br.com.natan.gerenciador.servlet.Empresa" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

<!DOCTYPE html>
<html>
    <head>
        <meta charset="ISO-8859-1">
            <title>Java Standard Taglib</title>
    </head>
    <body>
        Lista de empresas : <br />

        <ul>
            <c:forEach items="${empresas}" var="empresa">
                <li> ${empresa.nome} - <fmt:formatDate value="${empresa.dataAbertura }" pattern="dd/MM/yyyy"/> </li>
            </c:forEach>
        </ul>
    </body>
</html>
4 respostas

Qual o tipo da data Natan ?

tipo Date

package br.com.natan.gerenciador.servlet;

import java.util.Date;

public class Empresa {

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

    public Integer getId() {
        return id;
    }

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

    public String getNome() {
        return nome;
    }

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

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

    public Date getDataAbertura() {
        return dataAbertura;
    }

}

Natan, provavelmente pode ser problema na conexão do seu Servlet ou na requisição da variável 'empresas'. Como está seu arquivo ListaEmpresas.java ?

Caso esteja tudo okay também, eu aconselho ver se tem algum erro na aba Problems (no mesmo local do Server e Console) ou colocar um Breakpoint na linha 19 do listaEmpresas.jsp (que é onde o erro ta) e ver o que o eclipse acusa.

P.s.: pra colocar o Breakpoint é só clicar com botão direito na linha e selecionar Toggle Breakpoint, depois você coloca Run As e escolhe o servidor do Tomcat, vai abrir uma aba no Eclipse.

Também tenta colocar o .time ao final da expressão:

value="${empresa.dataAbertura.time }"