Estou criando uma função editar com o codigo abaixo, mas nao está dando certo
ProdutoDao
public void atualiza(Produto produto) {
em.getTransaction().begin();
em.merge(produto);
em.getTransaction().commit();
}
ProdutoController
@Post
public void altera(@Valid Produto produto) {
validator.onErrorForwardTo(this).inicio();
dao.atualiza(produto);
result.include("message", "PRODUTO ALTERADO");
result.redirectTo(this).lista();
}
Editar.jsp
<form action="<c:url value='/produto/altera'/>" method="POST">
<input type="hidden" name="produto.id" value="${produto.id}"/>
<div class="col s6">
NOME: <input type="text" name="produto.nome" value="${produto.nome}"/>
</div>
<div class="col s6">
DESCRIÇÃO: <input type="text" name="produto.descricao" value="${produto.descricao}"/>
</div>
<div class="col s4">
QUANTIDADE: <input type="number" name="produto.quanitdade" value="${produto.quantidade}"/>
</div>
<div class="col s4">
VALOR: <input type="number" name="produto.valor" value="${produto.valor}"/>
</div>
<div class="col s4">
VALOR DO FRETE: <input type="number" name="produto.valorFrete" value="${produto.valorFrete}"/>
</div>
<div class="col s9"></div>
<div class="col s3 right">
<input type="submit" class="btn waves-effect waves-light btn-large right" value="SALVAR"></input>
</div>
</form>