package br.com.casadocodigo.loja.controllers;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import br.com.casadocodigo.loja.daos.ProdutoDAO;
import br.com.casadocodigo.loja.models.Produto;
import br.com.casadocodigo.loja.models.TipoPreco;
@Controller
@RequestMapping(value = "produtos")
public class ProdutosController {
@Autowired
private ProdutoDAO prod;
@RequestMapping("form")
public ModelAndView form() {
ModelAndView modelAndView = new ModelAndView("form");
modelAndView.addObject("tipos", TipoPreco.values());
return modelAndView;
}
@RequestMapping(method = RequestMethod.POST)
public String gravar(Produto produto) {
System.out.println(produto);
prod.gravar(produto);
return "produtos/ok";
}
@RequestMapping(method = RequestMethod.GET)
public ModelAndView listar() {
List<Produto> produtos = prod.listar();
ModelAndView modelAndView = new ModelAndView("lista");
modelAndView.addObject("produtos", produtos);
return modelAndView;
}
}
Ao acessar o form de cadastro do produto do curso Spring MVC, o jsp nao é encontrado e ocorre o erro 404. Como todos os metodos do controller usa o /produtos, incluir a anotacao @RequestMapping na classe e nos metodos passo apenas o contexto complementar, porem nao funciona. Quando incluo o contexto compelo no modelandview, funciona. Alguma luz??