[RESOLVIDO] Campo textField com hora
20/07/2010 00:00
0
Boa tarde, estou iniciando em Grails e tenho com uma dúvida, quero salvar um campo hora mas sem a data, no formato 'HH:mm', prefiro utilizar o textField ao invés do datePicker. Aguardo sugestões. Obrigado
Tags: Grails


0
Alguém pode me ajudar? Alguma idéia?
22/07/2010 00:00


0
Bem, tenho uma idéia de Noob, mas já que não apareceu nenhuma:

use textfild então... meio... bizarro, mas tudo okay. No controller separe a string em duas, as antes dos dois pontos e as depois. Verifique se a pessoa escreveu corretamente, transforme em integer e grave no banco como dois campos separados. É uma idéia
22/07/2010 00:00


0
Essa solução que você propôs não é possível, porque o grails faz um binding com o campo, eu teria q alterar em outro lugar (não sei onde!), mas valeu a juda, sigo procurando uma resposta, se alguém souber...
22/07/2010 00:00


0
Ja tentou algo assim?
DateFormat dfm = new SimpleDateFormat("HH:mm")
Date a = dfm.parse("${params.horas}") //ASSUMINDO QUE SEJA 11:30 por exemplo

ou
 
def splitHoras = params.horas.split(':') //ASSUMINDO QUE SEJA 11:30 por exemplo
Calendar cal = new GregorianCalendar();
cal.set(Calendar.HOUR_OF_DAY, splitHoras[0] as Integer)
cal.set(Calendar.MINUTE, splitHoras[1] as Integer)
Date a = cal.getTime()


Acho que umas dessas duas maneiras deve funcionar.
22/07/2010 00:00


0
Obrigado pela ajuda até agora, estou quase conseguindo resolver, pena q a documentação do grails seja bem fraquinha...

bom olha como esta o meu controller

String mytime = "00:00"
if (params.startTime)
time = params.startTime
travelInstance.startTime = dateParser.parse("""01/01/1900 ${mytime}""")


Funciona, só q na página create aparece Mon Jan 01 00:00:00 BRT 1900 no campo startTime.
ele faz um binding, onde eu desabilito isso...
23/07/2010 00:00


0
Ai galera, resolvi o problema, instalei o plugin joda-time, ele possui o tipo LocalTime que representa apenas hora...

Não é exatamente oq eu esperava, mas cumpre o papel...

obrigado a todos que se dispuseram a ajudar... <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->
23/07/2010 00:00


0
Essa seria a segunda terceira opção que eu iria citar, mas como eu nunca utilizei este plugin nem mesmo em java preferi não citar, existe algum tipo de complicação com este plugin?
23/07/2010 00:00


0
[quote=&quot;lucasDie&quot;]existe algum tipo de complicação com este plugin?[/quote]
Não, é mt simples, como o resto do grails.

Segue a classe que contem o campo Time:

package br.com.millora.hexago

import org.joda.time.*
import org.joda.time.contrib.hibernate.*

class Travel {
LocalTime startTime //LocalTime representa um tipo Time, mas no DB gera um character

static constraints = {
startTime type&#58; PersistentLocalTimeAsTime //necessário para o hibernate mapear corretamente no DB
}
}


Também é necessário incluir o template pra mapear o joda:timePicker
grails install-joda-time-templates


e pronto...
23/07/2010 00:00



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