Criando conversor para valores monetários no VRaptor 3

Boa noite a todos,

Hoje quando comecei a testar uma tela nova, percebi que estava ‘ganhando’ exceções ao salvar um formulário que continha um campo do tipo Double em que eu preenchi um valor em formato de moeda “1.500.444,99”. Bom o que fazer, fucei um pouco no código fonte do VRaptor olhando os seus conversores padrões e vi que não estava legal o conversor de Doubles, assim acabei implementando um conversor para atender o meu problema. Abaixo segue a solução, que foi bem simples de resolver.

Quando eu utilizo a anotação @Convert(Double.class), estou adicionando no contexto do VRaptor que todo o formulário que tiver um campo Double irá passar por este conversor.

Conclusão

A estrutura do VRaptor 3 torna muito simples de resolvermos problemas corriqueiros do dia a dia de desenvolvimento. O esquema dos seus conversores através de anotações nas classes de conversão torna muito simples de criarmos lógicas para resolver pequenos e grandes problemas nos sistemas que desenvolvemos.

Para desenvolvermos os nossos conversores, controladores, recursos, componentes, etc., apenas precisamos anotar as nossas classes que o VRaptor adiciona no seu contexto durante a inicialização da aplicação.

Referências

http://vraptor.caelum.com.br/documentacao/conversores/

Bom é isso aí, um abraços a todos e até a próxima.

Blog Java
  • Newton

    Não precisa fazer isso tudo. Basta usar os localized converters ativando o pacote br.com.caelum.vraptor.converter.l10n no web.xml.