Olá!
Se não me engano o locale é setado no web.xml para que todas as páginas fiquem iguais, têm um post recente onde o Lucas postou o código, mas eu uso taglib mesmo para mostrar valores em BigDecimal e datas:
Para mostrar BigDecimal na JSP:
skylinedu, na última versão do vraptor contribuí com um código para usar converters localizados. Porém para ativar os componentes você precisa fazer manual no seu web.xml.
Guevara utilizo também as tags do JSTL para formação dos dados. Mas minha dúvida era de como converter a vírgulo do sistema monetário brasileiro para o ponto. Fico grato pela ajuda.
garcia-jj sua contribuição será bastante utilizada, creio que utilizar BigDecimal para campos de valores monetários é importante já que detalhes de arredondamento são melhores. Fico agradecido pela ajuda e parabéns pelo código fornecido para o VRaptor.
Um projeto que desenvolvi há algum tempo, que são indicadores de produtividade, eu usei double. Os valores são todos percentuais com apenas duas casas decimais (exemplo 50,13%) e como não é feito nenhum calculo, apenas exibição dos dados, não tive problemas.
Já em outro projeto, que é um sistema eletrônico de cobrança, usei BigDecimal porque alguns calculos não necessários. Embora todos os dados são com apenas duas casas decimais, preferi usar BigDecimal por envolver calculos financeiros.
Eu havia aberto uma issue no github para deixar um pouco mais explicado quando há um erro de conversão. Atualmente não há log para indicar que o valor não pode ser “parseado” corretamente. Deveria ou lançar uma exception ou exibir um warning, facilitando a detecção do erro e o motivo do valor não poder ter sido injetado.3
Wherever… qual o appserver que você está usando? E você declarou o seu atributo como primitivo ou wrapper? Localized converters funcionam apenas com wrappers 8)
Você tem isso aqui no seu código, certo? Com o type=currency ele escreve o R$ junto ao valor, e o vraptor não trata isso. Na verdade o vraptor trata valores BigDecimal, Double ou Float, mas não money.