Oi Juliano, bom dia! Tudo bom?
Não sou o professor, mas acho que posso dar uma ajudinha.. :)
É exatamente isso que você sugeriu! O CCC
corresponde à classe CarrinhoComprasController
por causa do CamelCase.
Sendo mais completa:Cada método de classe controller ganha pelo Spring um nome padrão pra ser linkado na view, no nosso caso, na action do form.Esse nome padrão é formado justamente pelas letras maiúsculas da classe controller, seguido de um #
e do nome completo do método logo depois.Dá pra colocar outro nome pra linkar o método na view, substituindo o nome padrão definido. Pra isso, é só colocar o atributo name
na tag @RequestMapping
do método.Essa explicação está comentada na documentação do Spring aqui: https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html
No código do curso, usando o nome padrão pra linkar ao método, ficaria justamente como está na explicação do curso.
Se usar o atributo name
do @RequestMapping
, o código do CarrinhoComprasController
ficaria assim:
@RequestMapping(path="/remover", name="removeProduto")
public ModelAndView remover(Integer produtoId, TipoPreco tipoPreco){
carrinho.remover(produtoId, tipoPreco);
return new ModelAndView("redirect:/carrinho");
}
E o form ficaria assim:
<td class="remove-item">
<form action="${s:mvcUrl('removeProduto').arg(0, item.produto.id).arg(1,item.tipoPreco).build() }" method="post">
<input type="image" src="/excluir.png" alt="Excluir" title="Excluir" />
</form>
</td>