Para ter um destaque maior na minha pergunta resolvi criar um tópico novo!
Consegui fazer o remover, ao clicar no link remover o produto é removido do banco de dados. Segue o que eu fiz: Metodo da classe ProdutosController
@RequestMapping(method = RequestMethod.GET, value = "remover/{id}")
public String remover(@PathVariable("id") Integer id) {
produtoDao.remover(id);
return "redirect:/produtos";
}
classe ProdutoDAO
public void remover(Integer id) {
manager.remove(findById(id));
}
link com a pagina de listagem lista.jsp
<c:forEach items="${produtos }" var="produto">
<tr>
<td>
<a href="${s:mvcUrl('PC#detalhe').arg(0,produto.id).build() }">${produto.titulo }</a>
</td>
<td>${produto.descricao }</td>
<td>${produto.precos }</td>
<td>${produto.paginas }</td>
<td>
<a href="<c:url value='produtos/remover'/>/${produto.id}">Remover</a>
</td>
</tr>
</c:forEach>
Porém continuo com dificuldade com o Editar, nao sei como fazer para redirecionar exibindo os dados do produto num form de update
Segue os códigos:
classe ProdutosController
@RequestMapping(method = RequestMethod.POST, value = "produtos/{id}/form")
public ModelAndView atualizar(@PathVariable("id") Integer id, @Valid Produto produto, BindingResult result) {
if (result.hasErrors()) {
return form(produto);
}
produtoDao.atualizar(produto);
return new ModelAndView("redirect:produtos/form-update");
}
classe ProdutoDAO
public void atualizar(Produto produto) {
manager.merge(produto);
}
link na listagem de produtos lista.jsp
<c:forEach items="${produtos }" var="produto">
<tr>
<td>
<a href="${s:mvcUrl('PC#detalhe').arg(0,produto.id).build() }">${produto.titulo }</a>
</td>
<td>${produto.descricao }</td>
<td>${produto.precos }</td>
<td>${produto.paginas }</td>
<td>
<a href="<c:url value='produtos/${produto.id}/form'/>">Alterar</a>
<a href="<c:url value='produtos/remover'/>/${produto.id}">Remover</a>
</td>
</tr>
</c:forEach>
</table>
E a página form-update.jsp
<%@ 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://www.springframework.org/tags/form" prefix="form" %>
<%@ taglib uri="http://www.springframework.org/tags" prefix="s" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Livro de Java, Android, iPhone, Ruby, PHP e muito mais - Livraria do Programador</title>
<c:url value="/resources/css" var="cssPath" />
<link rel="stylesheet" href="${cssPath }/bootstrap.min.css">
<link rel="stylesheet" href="${cssPath }/bootstrap-theme.min.css">
<style type="text/css">
body {
padding: 60px 0px;
}
</style>
</head>
<body>
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="${s:mvcUrl('HC#index').build() }">Livraria do Programador</a>
</div>
<div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li><a href="${s:mvcUrl('PC#listar').build() }">Lista de Produtos</a></li>
<li><a href="${s:mvcUrl('PC#form').build() }">Cadastro de Produtos</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</nav>
<div class="container">
<h1>atualizar produto</h1>
<form:form action="${s:mvcUrl('PC#atualizar').build() }" method="PUT"
commandName="produto" enctype="multipart/form-data">
<div class="form-group">
<label>Titulo</label>
<form:input path="titulo" cssClass="form-control" />
<form:errors path="titulo" />
</div>
<div class="form-group">
<label>Descição</label>
<form:textarea path="descricao" cssClass="form-control" />
<form:errors path="descricao" />
</div>
<div class="form-group">
<label>Páginas</label>
<form:input path="paginas" cssClass="form-control"/>
<form:errors path="paginas" />
</div>
<div class="form-group">
<label>Data de Lançamento</label>
<form:input path="dataLancamento" cssClass="form-control"/>
<form:errors path="dataLancamento"/>
</div>
<c:forEach items="${tipos }" var="tipoPreco" varStatus="status">
<div class="form-group">
<label>${tipoPreco }</label>
<form:input path="precos[${status.index }].valor" cssClass="form-control" />
<form:hidden path="precos[${status.index }].tipo" value="${tipoPreco }" />
</div>
</c:forEach>
<button type="submit" class="btn btn-primary">Atualizar</button>
</form:form>
</div>
</body>
</html>