Olá desenvolvedores, e vamos a parte três da correção de bugs, e dessa vez vamos atacar a página de produtos. Iremos analisar a página a procura de algum bug ou de algum detalhe que possa ser melhorado.
LIMITANDO O TAMANHO DOS CAMPOS
E iremos começar não corrigindo bugs mas limitando a quantidade de caracteres do nome do produto até 100 ou menos, fica a sua escolha. E no campo de valor limitaremos a 12 caracteres.
Observe que o campo que recebe a quantidade de produtos está aceitando qualquer tipo de caractere. Entretanto o recomendado é fazer com que o cmapo aceite apenas valores numéricos. Limitando a valores numéricos poderemos evitar que cada usuário insira o dado de um jeito causando assim inconsistência na base de dados. Desse modo, podemos impor esta restrição alterando o type de text para number.
ESTILIZANDO CAMPOS
E até mesmo objetivando seguir uma padronização, alteraremos o tamanho dos campos também na tela de cadastro de produtos. A mesma estilização se aplica ao “botão cancelar”.
CORRIGINDO A ENTRADA DE VALORES
O campo de valor apresenta uma peculiaridade, ele aceita que coloquemos o preço separando as casas decimais por ponto. No entanto, se no lugar do ponto colocarmos vírgula e clicamos em salvar somos redirecionados para a tela em branco.
Esta exceção acontece porque na servletsProduto.java no doPost onde o valor é setado estamos tentando fazer um parseDouble. Entretanto, o parse só pode ser feito em valores que não serão escritos com vírgula, mas não necessariamente inteiros, visto que double é um tipo primitivo de dados que armazena dígitos à direita do ponto de fração decimal.
A função do parse.Double é converter a representação da cadeia de caracteres de um número no equivalente do número de ponto flutuante de precisão dupla. Enfim, devidamente contextualizados, utilizaremos o método replace() para resolver este bug.
O método replace() retorna uma nova string com algumas ou todas as combinações do padrão substituído por um substituto especificado, neste caso substituiremos a vírgula pelo ponto.
Mas calma porque temos que considerar a entrada de valores como 10.500,00 por exemplo. Nesta situação teremos que primeiro tirar a vírgula e então substituí-la pelo ponto. Porque é assim que o Java trata estes valores e é assim também que o banco de dados entende. Assim, o que estamos buscando é a representação 10500.00.
Então primeiro, onde existe um ponto iremos retirá-lo, porém nenhum valor irá substituí-lo. O próximo passo, é fazer com que a variável que recebeu primeiramente o valor receba ela mesma, mas agora substituindo a vírgula pelo ponto. E assim poderemos proceder com a conversão parseDouble.
EM POUCAS PALAVRAS
Seguindo com a correção dos bugs, agora no cadastro de produtos. Lembrando que, no que se refere as estilizações, você pode fazer do seu próprios jeito. Você pode brincar com o sistema, testar e assim consequentemente aprender um pouco mais sobre CSS.
É importante que a gente entenda e respeite os padrões da linguagem, porque ela não existe em vão. Imagine se precisarmos fazer alguma operação matemática sobre estes números e eles estivessem cada um descrito de uma forma distinta? Seria impossível quantificar qualquer dado. Eu fico por aqui e nós nos vemos no próximo tutorial.