1
resposta

HTTP Status 404 - /casadocodigo/produtos

Após realizar as implementações para as validações dos campos usando os recursos que o Spring proporciona, sistema apresenta a mensagem "HTTP Status 404 - /casadocodigo/produtos" ao tentar abrir qualquer formulário. Implementações:

package br.com.casadocodigo.loja.validation;

import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;

import br.com.casadocodigo.loja.models.Produto;

public class ProdutoValidation implements Validator {


    public boolean supports(Class<?> clazz) {

        return Produto.class.isAssignableFrom(clazz);
    }

    public void validate(Object target, Errors errors) {

            ValidationUtils.rejectIfEmpty(errors, "titulo", "field.required");
            ValidationUtils.rejectIfEmpty(errors, "descricao", "field.required");

            Produto produto = (Produto) target;
            if (produto.getPaginas() <= 0) {
                errors.rejectValue("paginas", "field.required");
            }
    }

}

@Controller
@RequestMapping("produtos")
public class ProdutosController {

    @Autowired
    private ProdutoDAO produtoDao;

    @InitBinder
    public void InitBinder(WebDataBinder binder) {
        binder.addValidators(new ProdutoValidation()); 
    } 

    @RequestMapping("/form")
    public ModelAndView form() {

        ModelAndView modelAndView = new ModelAndView("produtos/form");
        modelAndView.addObject("tipos", TipoPreco.values() );

        return modelAndView;
    }

    @RequestMapping(method=RequestMethod.POST)
    public ModelAndView gravar(@Valid Produto produto, BindingResult result, RedirectAttributes redirecAttributes ) {

        if (result.hasErrors()) {
            return form();
        }

        produtoDao.gravar(produto);
        redirecAttributes.addFlashAttribute("sucesso","Produto cadastrado com sucesso");
        return new ModelAndView("redirect:produtos");
    }

    @RequestMapping(method=RequestMethod.GET)
    public ModelAndView listar() {
        List<Produto> produtos =  produtoDao.listar();
        ModelAndView modelAndView = new ModelAndView("produtos/lista");
        modelAndView.addObject("produtos", produtos);

        return modelAndView;
    }

}
1 resposta

Fala ai Alexandre, tudo bem ?

Cara seu código está certinho, o que pode estar errado é a pasta com suas jsp, consegue confirmar se está certo.