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

Listar Datas

Galera, eu tentei listar as datas somente alterando na view, mas não deu certo, apareceu um erro em vez da data.

java.util.GregorianCalendar[time=1526184000000 (...)]

Qual a melhor maneira de listar as datas?

view:

<table>
    <tr>
        <td>
        titulo
        </td>
        <td>
        Descricao
        </td>
        <td>
        Paginas
        </td>
        <td>
        Data Lançamento
        </td>
    </tr>
    <c:forEach items="${produtos}" var="produto">
        <tr>
            <td> ${produto.titulo }    </td>
            <td> ${produto.descricao } </td>
            <td> ${produto.paginas } </td>
            <td> ${produto.dataLancamento } </td>
        </tr>    
    </c:forEach>

</table>
4 respostas

Galera, achei uma solução, só não sei se é adequada ou elegante. Gostaria da opinião de vocês.

eu criei um novo método no model:

    public  String converterCalendarParaString() {
        SimpleDateFormat formatacao = new SimpleDateFormat("dd/MM/yyyy");          
        return formatacao.format(dataLancamento.getTime());
    }

E modifiquei a view:

view:

<table>
    <tr>
        <td>
        titulo
        </td>
        <td>
        Descricao
        </td>
        <td>
        Paginas
        </td>
        <td>
        Data Lançamento
        </td>
    </tr>
    <c:forEach items="${produtos}" var="produto">
        <tr>
            <td> ${produto.titulo }    </td>
            <td> ${produto.descricao } </td>
            <td> ${produto.paginas } </td>
            <td> ${produto.converterCalendarParaString()} </td>
        </tr>    
    </c:forEach>

</table>
solução!

Boa noite, Thiago! Como vai?

java.util.GregorianCalendar[time=1526184000000 (...)]

Esse resultado que vc obteve não é um erro, e sim a representação padrão do objeto Calendar em forma escrita.

Para vc apresentar a data formatada corretamente vc pode fazer o que vc fez ou, melhor ainda, utilizar a tag lib JSTL para fazer a padronização para vc diretamente no arquivo JSP, como visto nessa aula do curso Java e JSTL: Tags para facilitar o desenvolvimento JSP aqui da Alura. Dê uma olhada lá! Basicamente, após seguir as orientações que são vistas na aula que citei, no seu JSP vc faria algo do tipo:

<fmt:formatDate pattern="dd/MM/yyyy" value="${produto.dataLancamento}" />

Grande abraço e bons estudos!

Obrigado, Gabriel !

Por nada, Thiago! Sempre que tiver alguma dúvida é só mandar aqui no fórum!

Grande abraço e bons estudos!