Estou precisando fazer uma validação, quando ao usuário digitar no salario uma virgula ele transforme em ponto, exemplo: 700,95, e ao mostrar essa informação em uma lista, e mostre com duas casa decimal, incluindo o zero, exemplo: 790,80.
e como faço para um campo do HTML receber só numero,virgula e ponto? e o campo nome receber só letras?
//Classe Pessoa do pacote modelo
package br.com.pessoa.modelo;
import java.util.Calendar;
import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size;
import org.springframework.format.annotation.DateTimeFormat;
@Entity public class Pessoa {
@Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Integer id;
@NotNull @Size(min=5, message="{cadastra.pessoa.nome}") private String nome; private Integer idade; private String sexo; private String estadoCivil;
@DateTimeFormat(pattern="dd/MM/yyyy") private Calendar dataNascimento;
private Double altura; private float salario;
public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public Integer getIdade() { return idade; } public void setIdade(Integer idade) { this.idade = idade; } public String getSexo() { return sexo; } public void setSexo(String sexo) { this.sexo = sexo; } public String getEstadoCivil() { return estadoCivil; } public void setEstadoCivil(String estadoCivil) { this.estadoCivil = estadoCivil; } public Calendar getDataNascimento() { return dataNascimento; } public void setDataNascimento(Calendar dataNascimento) { this.dataNascimento = dataNascimento; } public Double getAltura() { return altura; } public void setAltura(Double altura) { this.altura = altura; } public float getSalario() { return salario; } public void setSalario(float salario) { this.salario = salario; }}
//Clase PessoaDao do pacote Dao
package br.com.pessoa.dao;
import java.util.List;
import javax.persistence.EntityManager; import javax.persistence.Query;
import br.com.pessoa.modelo.Pessoa; import br.com.pessoa.util.JPAUtil;
public class PessoaDao {
public void adiciona(Pessoa pessoa) {
EntityManager manager = new JPAUtil().getEntityManager();
manager.getTransaction().begin(); manager.persist(pessoa); manager.getTransaction().commit(); manager.close(); }
public void altera(Pessoa pessoa) {
EntityManager manager = new JPAUtil().getEntityManager();
manager.getTransaction().begin(); manager.merge(pessoa); manager.getTransaction().commit(); manager.close(); }
public void exclui(Pessoa pessoa) {
EntityManager manager = new JPAUtil().getEntityManager();
manager.getTransaction().begin(); Pessoa removerPessoa = manager.find(Pessoa.class, pessoa.getId()); manager.remove(removerPessoa); manager.getTransaction().commit(); manager.close(); }
public Pessoa listaId(Pessoa pessoa){
EntityManager manager = new JPAUtil().getEntityManager();
Pessoa pessoaId = manager.find(Pessoa.class, pessoa.getId()); manager.close();
return pessoaId; }
public List lista(){
EntityManager manager = new JPAUtil().getEntityManager();
Query query = manager.createQuery("select p from Pessoa p");
@SuppressWarnings("unchecked") List result = query.getResultList();
return result; }
public List listaPorParemetro(int id){
EntityManager manager = new JPAUtil().getEntityManager();
Query query = manager.createQuery("select p from Pessoa p where p.id=:pesId");
query.setParameter("pesId", id);
@SuppressWarnings("unchecked") List result = query.getResultList();
return result; } }
//Classe PessoaController do pacote controle
package br.com.pessoa.controle;
import java.util.List;
import javax.validation.Valid;
import org.springframework.stereotype.Controller; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView;
import br.com.pessoa.dao.PessoaDao; import br.com.pessoa.modelo.Pessoa;
@Controller public class PessoaController {
@RequestMapping("/home") public String principal(){ return "principal"; }
@RequestMapping("/formularioPessoa") public String formularioPessoa(){ return "formulario"; }
@RequestMapping("/adicionaPessoa") public String adicionaPessoa(@Valid Pessoa pessoa, BindingResult result){
if(result.hasErrors()){ return "formulario"; }
PessoaDao dao = new PessoaDao(); dao.adiciona(pessoa); return "redirect:listaPessoa"; }
@RequestMapping("/alteraPessoa") public String alteraPessoa(Pessoa pessoa){ PessoaDao dao = new PessoaDao(); dao.altera(pessoa); return "redirect:listaPessoa"; }
@RequestMapping("/excluiPessoa") public String excluiPessoa(Pessoa pessoa){ PessoaDao dao = new PessoaDao(); dao.exclui(pessoa); return "redirect:listaPessoa"; }
@RequestMapping("/listaPessoa") public ModelAndView listaPessoa(){ PessoaDao dao = new PessoaDao(); List pessoas = dao.lista();
ModelAndView mv = new ModelAndView("lista"); mv.addObject("todasPessoas", pessoas);
return mv; }
@RequestMapping("/buscaPessoa") public ModelAndView buscaPessoa(Pessoa pessoa){ PessoaDao dao = new PessoaDao(); Pessoa pessoaId = dao.listaId(pessoa);
ModelAndView mv = new ModelAndView("altera"); mv.addObject("pessoa", pessoaId);
return mv; } }
//Página de cadastro
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html>
Home