Prezados, boa noite.
Gostaria de saber qual a diferença entre as taglibs c:url e s:mvcUrl e se eu poderia substituir no detalhe.jsp o c:url value="/carrinho/add" por s:mvcUrl("CCC#add").build().
Att Dirley
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Prezados, boa noite.
Gostaria de saber qual a diferença entre as taglibs c:url e s:mvcUrl e se eu poderia substituir no detalhe.jsp o c:url value="/carrinho/add" por s:mvcUrl("CCC#add").build().
Att Dirley
"s:mvcUrl" é uma taglib usada em projetos Spring MVC que serve para criar uma URL a partir de um request mapping do seu Controller.
A tag JSTL <c: url> é usada para formatação de URLs em geral e, opcionalmente, armazena a URL em uma variável.
No fim das contas dá para usar qualquer uma delas (=
Abraço!
<form action="${s:mvcUrl('CCC#add').arg(0,produdo.id).build() }" method="post" class="container">import br.com.casadocodigo.loja.daos.ProdutoDAO;
import br.com.casadocodigo.loja.models.CarrinhoCompras;
import br.com.casadocodigo.loja.models.CarrinhoItem;
import br.com.casadocodigo.loja.models.TipoPreco;
@Controller
@Scope(value=WebApplicationContext.SCOPE_REQUEST)
@RequestMapping("/carrinho")
public class CarrinhoComprasController {
@Autowired
ProdutoDAO produtoDao;
@Autowired
CarrinhoCompras carrinho;
@RequestMapping("/add")
public ModelAndView add(Integer produtoId, TipoPreco tipoPreco) {
System.out.println("entrou em add "+produtoId);
carrinho.add(new CarrinhoItem(produtoDao.findProduto(produtoId), tipoPreco));
return new ModelAndView("redirect:/produtos");
}
}Então porque o trecho acima não funciona?
o produtoId inserido no form de detalhe.jsp não é passado como parâmetro para o método add do controller CarrinhoComprasController, nem passando por argumento através do mvcUrl... porém, se eu usar <c:url ... >, funciona perfeitamente.
Chega a lançar algum erro quando você tenta passar com o s:mvcUrl?
Nenhum erro. Apenas chega null nos parâmetros.
Prezados, boa tarde.
Ainda não obtive uma resposta a minha dúvida. Poderiam me ajudar?