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.
G
garcia-jj
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.
Abraços
R
rodrigo.lopes
Garcia fiz o esquema que vc falou!
Atualizei a lib do VRaptor pelo maven da 3.1.1 pra 3.1.2
coloquei no web.xml
porem o meu Double so fica com null!!!
se passo 2 = null
se passo 2,5 = null
se passo 2.5 = null
tem alguma luz ai?
Lucas_Cavalcanti
os nomes estão corretos?
dá algum erro no servidor?
R
rodrigo.lopes
sim ta tudo certo
se volto pra versao 3.1.1
e mando por exemplo 5
o Double fica com 5
se passo 5.5 fica com 5.5
se passo 5,5 aai vem null
porem com esse converter deveria cair no metodo abaixo,certo?
public void setPreco(Double preco) {
this.preco = preco;
}
Lucas_Cavalcanti
não dá nem erro de validação? não aparece nada no log do servidor?
R
rodrigo.lopes
Nao da erro nenhum lucas…
Habilitei o log do vraptor mais nada…
foi o que eu falei, na hora de fazer o setPreco, ele cai no metodo que recebe String e nao Double
G
garcia-jj
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)
R
rodrigo.lopes
Apache Tomcat 6.0.20!
classe Double… por isso retorna null, quando nao ha conversao
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.
Você está enviando com o R$ junto?
donny
Também estou tendo esse mesmo problema. Estou usando: