Estou com a seguinte duvida:
Tenho uma pagina(JSP) que exibe os dados do cliente para que possa alterá-lo. - alteraCliente.jsp
Tenho o controller que faz essa consulta(chama o dao) e retorna para o JSP. - alteraClienteMVC.java.
No alteraClienteMVC.java eu coloco o objeto recebido assim:
req.setAttribute("cliente", clienteRet);
E no jsp eu faço eu exibo em uma tabela (vou colocar só a do campo data que é onde estou com problemas):
<td><cal:campoData id="dataNascimento" value="${cliente.dataNascimento.time}"/></td>
Ps: estou “aproveitando” este codigo que é para tanto para adicionar quanto para alterar.
E o arquivo taglib esta assim:
<%@ tag language="java" pageEncoding="ISO-8859-1"%>
<%@ attribute name="id" required="true"%>
<%@ attribute name="value" %>
<input type="text" id="${id}" name="${id}" value="${value}" />
<script type="text/javascript" >
$("#${id}").datepicker({dateFormat: 'dd/mm/yy'});
</script>
A questão é que quando ele retorna no alteraClienteMVC ele retorna por exemplo:
Thu Feb 10 00:00:00 BRST 1966
Só que no campo data do formulario JSP eu teria que fazer o tratamento para retornar:
10/02/1966
Quando tentei tratar no alteraClienteMVC.java (que eu acho que é o mais correto) eu nao consigo, pois eu até faço a conversão para String pelo SimpleDateFormat, mas ai não consigo passar para o JSP de uma forma que estaria respeitando as boas praticas de desenvolvimento, ou seja, o objetivo seria passar só o objeto cliente e nao ficar criando mais variaveis para passar um String que supostamente esta no objeto.
No JSP, eu estou tentando exibir esse codigo sem scriptlet, somente com JSTL, tambem para tentar manter o mais enxuto possivel e manter tambem boas praticas de desenvolvimento.
Qual é a forma mais “correta” de se fazer isso?
Seria realmente colocar um “scriptlet” na jsp somente para formatar a data(Date para String)?
Passar um outro parametro do alteraClienteMVC.java para alteraCliente.jsp?
por exemplo:
req.setAttribute("dataFormatada", dataFormatada);
Ou teria como formatar no JSTL(no arquivo taglib)? (que acho que seria a mais limpa, mas procurei definir um pattern, mas nao encontrei como fazer).
Eu agradeço a ajuda, pois gostaria de alem de resolver o problema, resolvê-lo de forma “correta”.