Olá. Estou criando um CRUD com base no que aprendi no curso de spring MVC, porém sempre que entro no formulário para adicionar um objeto no banco de dados, ele é adicionado com os campos vazios, "null". Gostaria de ajuda.
Segue abaixo o formulário
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<c:url value="/" var="contextPath" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Cadastro de Visitantes</title>
</head>
<body>
<h1>Cadastro de Visitantes</h1>
<form action="${s:mvcUrl('VC#grava').build() }" method="post"
enctype="multipart/form-data">
<div class="form-group">
<label>Nome</label> <input type="text" name="nome" />
</div>
<div class="form-group">
<label>Documento</label> <input type="text" name="documento" />
</div>
<div class="form-group">
<label>Placa do Veículo</label> <input type="text" name="placa" />
</div>
<div class="form-group">
<label>Destino de Visita</label> <input type="text" name="destino" />
</div>
<div class="form-group">
<label>Foto</label> <input type="file" name="foto"
class="form-control" />
</div>
<button type="submit" class="btn btn-primary">Cadastrar</button>
</form>
</body>
</html>
O Controller
@RequestMapping("/visitantes")
@Controller
public class VisitantesController {
@Autowired
private VisitanteDAO visitanteDao;
@RequestMapping("/form")
public String form() {
return "visitantes/form";
}
@RequestMapping(method=RequestMethod.POST)
public String grava(Visitante visitante) {
System.out.println("visitante controller" + visitante);
visitanteDao.gravar(visitante);
return "visitantes/ok";
}
@RequestMapping(method=RequestMethod.GET)
public ModelAndView lista() {
List<Visitante> visitantes = visitanteDao.lista();
ModelAndView modelAndView = new ModelAndView("visitantes/lista");
modelAndView.addObject("visitantes", visitantes);
return modelAndView;
}
}
O DAO
@Repository
@Transactional
public class VisitanteDAO {
@PersistenceContext
private EntityManager manager;
public void gravar(Visitante visitante) {
System.out.println("visitanteDao" + visitante);
manager.persist(visitante);
}
public List<Visitante> lista() {
return manager.createQuery("select v from Visitante v", Visitante.class).getResultList();
}
}
O Modelo
@Entity
public class Visitante {
@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
public int id;
public String nome;
public String documento;
public String placa;
public String destino;
public Visitante(String nome, String documento, String placa, String destino) {
this.nome = nome;
this.documento = documento;
this.placa = placa;
this.destino = destino;
}
public Visitante() {
}
@Override
public String toString() {
return "Visitante [nome=" + nome + ", documento=" + documento + ", placa=" + placa + ", destino=" + destino
+ "]";
}
}