Estou usando o vraptor pela primeira vez, e tenho um problema.
Eu tenho um atributo do tipo Calendar na minha classe, e um campo no formulário no formato dd/MM/yyyy. Teoricamente ele deveria chamar o converter LocaleBasedCalendarConverter automaticamente correto?
Poid bem, não está passando no converter, tentei implementar um colocando a anotação @Convert e implementando a interface Converter, só que também não está passando nos converters que eu estou implementando.
Pelo que eu entendi, não é necessário fazer nenhuma configuração adicional para usar converters, ou estou esquecendo de algo?
importjava.util.Calendar;importjava.util.ResourceBundle;importbr.com.caelum.vraptor.Convert;importbr.com.caelum.vraptor.Converter;importbr.com.caelum.vraptor.ioc.ApplicationScoped;importbr.com.wsacervoweb.enums.TipoFormatoData;importbr.com.wsacervoweb.utils.SiteUtil;@Convert(Calendar.class)@ApplicationScopedpublicclassCalendarConverterimplementsConverter<Calendar>{publicCalendarconvert(Stringvalue,Class<?extendsCalendar>type,ResourceBundlebundle){// retorna a conversãoreturnSiteUtil.stringToCalendar(value,TipoFormatoData.dd_MM_yyyy);}}
foxpv
Na verdade eu deletei o Converter que eu criei, estou tentando utilizar o Converter Default que já vem no VRaptor.
Lucas_Cavalcanti
você configurou o locale da aplicação no web.xml como pt_BR?
Cara, acabou que acho que o problema todo era vício de uso do JSF, porque o converter do Vraptor não converte o valor na volta da requisição, como os converters do JSF.
Não sei se me expressei bem. Mas o correto do VRaptor seria usar o fmt no value dos campos mesmo, correto?
Lucas_Cavalcanti
é, o VRaptor usa jsp puro, e infelizmente nele vc precisa colocar o format manualmente…
vc pode usar Calendar, mas no formatDate vc precisa colocar um .time no final: