Formato de Data na .jsp

Olá
Estou encontrando dificuldades para mostrar uma data no formulário, no qual eu utilizo uma Expression Language, no meu DAO estou alimentando assim o campo de data:

unidade.setDataCadastro(rs.getDate("DataCadastro"));

que no caso, me retorna no formato ‘yyyy-mm-dd’

e no formulário tenho o formato ‘dd/mm/yyyy’
“${unidade.dataCadastro}”

como eu posso fazer para a expression language receber essa data no formato correto? no meu bean este campo está como Date();

em um outro ponto, onde mostro numa table, tem o mesmo problema, neste caso, estou pegando o valor dessa forma:

<td style="width: 40px;" align="center"> <%= unidade.getDataCadastro() %></td>

mas também fica no formato do MySQL ‘yyyy-mm-dd’;

Como eu poderia fazer para contornar esse problema??

Simples,
no sua classe Unidade
crie esse método.

	public String getDataCadastroFormatado()
	{
		SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
		return formato.format(getDataCadastro());
	}

e na JSP chame o método

"${unidade.dataCadastroFormatado}"
1 curtida

da uma olhada na classe Date do java.

com ela é possível pegar o mes separado por exemplo.

ai você separando os elementos, fica mais facil juntar da maneira desejada.

Eu utilizaria o fmt do JSTL

<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<fmt:formatDate pattern="dd/MM/yyyy HH:mm:ss" value="${calculo.dataSimulacao}" />

abs,

Evandro

Deu certo aqui, tanto o exemplo do JSTL quanto a criação do método no Bean.
Obrigado pela ajuda… :thumbup:

Caros,

Gostaria de tirar uma dúvida. Estou fazendo um formulário para alteração dos dados de um cliente. Porém quando eu acesso ele passando o id do cliente, os campos do formulário abre com os dados (value) preenchidos. Esse dados foram recuperados pela minha DAO através da consulta no BD.

Porém quando abro o formulario, minha data está vindo desformatada, conforme abaixo:

BD: 2012-03-11
Formulario: Sun Mar 11 00:00:00 BRT 2012

A dúvida é com relação ao campo de data. É possível usar o “fmt:formatDate” para trazer a data no formato igual ao do banco ou melhor, assim: dd/mm/yyyy?

algúem sabe dizer como?

DAO:


Calendar data = Calendar.getInstance();
data.setTime(rs.getDate(“dataNascimento”));
contato.setDataNascimento(data);

JSP:


Data de Nascimento: <tags:campoData_value id=“dataNascimento” value="${c.dataNascimento.time}"/>

#TAG (campoData_value):

<%@tag description=“datapicker” pageEncoding=“UTF-8”%>

<%@attribute name=“id” required=“true” %>
<%@attribute name=“value” required=“true” %>

Obrigado,

Remo.