Formatar data no Domain Class
02/08/2012 12:09
0
Olá pessoal,

Estou com uma dificuldade para formatar o campo DATE no Domain Class quando vou usar a função toString(). Segue o Domain Class para exemplo:


class Data{
Integer id
Date data

static constraints = {
id()
data(blank:false, nullable:false, maxSize:10)
}

String toString() {
return "${data}"
}
}


Reparei que mesmo no Domain Class o campo estar em Date, o Grails gera no mySQL o campo como DATETIME, por isso, corrigi antes da inclusão dos dados no banco.

ALTER TABLE `SCHEMA`.`DATA` MODIFY COLUMN `data`  DATE NOT NULL;


Mesmo assim, na tela de list.gsp ou show.gsp por exemplo aparecia o valor como datetime (01/01/2012 00:00:00 BRST), mesmo com a modificação no mysql.

Corrigi o mesmo com o código abaixo nas telas .gsp

<td><g:formatDate date="${DataInstance.data}" format="dd/MM/yyyy"/></td>


Até ai tudo bem, mas ao usar o toString() acima no DomainClass, quando vou exibí-lo em outra página, novamente aparece o campo como DateTime. Segue exemplo do código do select.

<g:select id="data" name="data.id" from="${schema.Data.list()}" optionKey="id" required="" value="${presencaInstance?.data?.id}" class="many-to-one"/>


Como posso arrumar isso?

Obrigado novamente!
Tags: DateTime toString() DomainClass


0
Brother,

Creio que resolve, não testado! :P

O format espera um string que é o padrão como vc quer que ele formate sua data esse é só um exemplo

String toString() {
return data.format("dd-MM-yyyy")
}


0
É, desse modo não foi...

Agora coloquei dois atributos no toString()
String toString() {
return "${TEXTO} ${DATA}"
}


0
Será que o problema não é "maxSize:10" ?
Não é comum limitar tamanho em campo do tipo Date.


0
Infelizmente não é o maxSize"10". Com ele ou sem ele tanto faz. Tentei colocar isso para limitar só os 10 primeiros dígitos do campo date, já que ele esta pegando a hora também.

Uma coisa que não entendo é porque o campo é criado no banco como datetime se no Domain Class eu determinei que ele seria somente Date.

Bom, se alguém puder me dar uma luz agradeço, mas esse "probleminha" não é urgente.





Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto