Então agora temos uma maskMoney que funciona corretamente com o valor da moeda real, exceto quando precisamos editar o campo valor. Quando a partir da ação de “editar” direcionamos o foco para o campo que exibe o valor, dois zeros estão sendo adicionados ao seu final alterando-o.

No tutorial anterior implementamos uma máscara com jQuery para valores monetários. O jQuery é uma biblioteca de funções JavaScript. E como mencionamos acima, ela funcionou corretamente para a inserção de valores. Entretanto, encontramos um novo bug no momento de editar o campo valor.

Este bug está acontecendo porque o valor é gravado no banco de dados no formato double, desse modo o valor que está sendo composto, está vindo do banco de dados. Assim, a correção passa pela criação de um campo auxiliar.

Na classe do objeto produto a BeanProduto.java crie um método getValorEmTexto(), que irá retornar o valor do produto em formato de String, onde o ponto será substituído por uma vírgula.

O passo seguinte é chamar o get na tela cadastroProduto.jsp por meio do objeto produto. E simples assim resolvemos este.

MELHORIAS NA VISUALIZAÇÃO DOS VALORES

Note na lista que exibe os produtos que o valor 4.545,50 é exibido 4545.5, o que pode confundir o usuário e fazê-lo acreditar que inseriu o valor errado. Então, podemos e devemos implementar uma melhoria nesta visualização.

A biblioteca JSTL – JavaServer Pages Standard Tag Library, possui bibliotecas especificas para trabalharmos com o JSP – JavaServer Pages. Na verdade, ela estende a especificação JSP adicionando uma biblioteca de tags das tags JSP para algumas tarefas, como por exemplo, trabalhar com valores numéricos.

Para podermos utilizar a biblioteca JSTL com estes poderosos recursos precisamos primeiro declará-la no cabeçalho da página cadastroProduto.jsp. Atente-se, a declaração não é feita dentro do head mas acima da declaração do documento HTML <!DOCTYPE html>

E agora não utilizaremos o prefixo C: mas o prefixo fmt que consta na declaração da biblioteca e que é voltado e específico para a saída de valores. Assim informaremos o tipo do campo e quantos casas decimais terá após a vírgula. E claro, o value, que é o valor do produto informado por meio de uma expressão JSP.

Observe que agora os valores estão sendo exibidos em um formato muito mais amigável para o usuário.

EM POUCAS PALAVRAS

Uma dica importante que estes tutoriais de correção de bugs têm trazido é a consulta constante a documentação. Algumas coisas você não vai e nem precisa decorar, uma vez que existe a documentação para auxiliá-lo. E como programador habitue-se a consultar a documentação, ela será sua grande parceira no desenvolvimento dos seus projetos. Eu fico por aqui, e nos vemos no próximos tutoriais.