Prezados Amigos do GUJota,
Estou começando a desenvolver uma aplicação utilizando o SpringMVC, que achei inclusive bem mais elegantes que outros frameworks mvc.
Ocorre que, quando tento utilizar um formulário para preencher uma propriedade do tipo java.util.Date, a validação falha e o form retorna.
Quase tenho a certeza de que é alguma configuração de formato de data, mas como sou novato no SpringMVC, também não sei onde fazê-lo.
Se algum dos amigos puder ajudar, seria bastante grato!
Atenciosamente,
MaLSan
Olá
Você precisa registrar um editor que será responsável por converter a string “08/06/2009” em um objeto do tipo Date.
Este capitulo explica como fazer: 5.4.2. Built-in PropertyEditor implementations
Obrigado companheiro!
Vou verificar hoje à noite e volto para confirmar os resultados!
Abraço a todos!
San
Eu não entendi muito bem o que você precisa, mas eu configuro no Spring-Web.xml desta forma:
<bean id="dateFormat" class="java.text.SimpleDateFormat">
<constructor-arg value="dd/MM/yyyy"/>
<property name="lenient" value="false"/>
</bean>
eu arrumo isso no controller usando o:
@Override
protected void initBinder(HttpServletRequest request,
ServletRequestDataBinder binder) {
SimpleDateFormat dateFormat =
new SimpleDateFormat("dd/MM/yyyy");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, null, new CustomDateEditor(dateFormat, true));
}
Amigo Romarcio,
Deixa eu ver se entendi!
[quote=romarcio]Eu não entendi muito bem o que você precisa, mas eu configuro no Spring-Web.xml desta forma:
<bean id="dateFormat" class="java.text.SimpleDateFormat">
<constructor-arg value="dd/MM/yyyy"/>
<property name="lenient" value="false"/>
</bean>
[/quote]
Hmm! Injetando o formater…
E depois? Usa o initBinder à semelhança do amigo fr4nc0w?
[quote=fr4nc0w]eu arrumo isso no controller usando o:
@Override
protected void initBinder(HttpServletRequest request,
ServletRequestDataBinder binder) {
SimpleDateFormat dateFormat =
new SimpleDateFormat("dd/MM/yyyy");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, null, new CustomDateEditor(dateFormat, true));
}
[/quote]
Vou testar estas possibilidades também, depois posto como ficou!
Obrigado a todos!
San
Eu uso somente no initbinder e já da certo.
você usa form assim?
<form:input path="questionario.quedatainicial" />
se usa, usar initbinder e esse input ai ja resolve tudo.
a biblioteca pra usar essas tags de form é:
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
flw
O Spring TagLibrary?!
Uso sim senhor! Parece que o colega acima deve usar algo parecido, só que ele injeta o Formater!
Você deve ter matado a charada, companheiro!
Vou testar lá! Qualquer coisa eu perturbo ocês de novo!
Obrigado a todos!
Shalom!
San