Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Duvida em relação ao erro 500 org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException

@Override
    public void validate(Object target, Errors errors) {
         ValidationUtils.rejectIfEmpty(errors, "titulo", "field.required");
         ValidationUtils.rejectIfEmpty(errors, "descricao", "field.required");
            Produtos produtos = (Produtos) target;
            System.out.println(produtos.getPaginas());
            if (produtos.getPaginas() <= 0) {
                errors.rejectValue("paginas", "field.required");
            }
    }

Recebo o seguinte erro:

null
fev 13, 2017 5:21:16 AM org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet [dispatcher] in context with path [/casadocodigo] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
java.lang.NullPointerException
    at br.com.casadocodico.loja.validation.ProdutosValidation.validate(ProdutosValidation.java:22) .

Um complemento no if do metodo validate como por exemplo: produtos.getPaginas() == null

 if (produtos.getPaginas() <= 0 || produtos.getPaginas() == null) {
                errors.rejectValue("paginas", "field.required");
}

Não resolveria? Eu sou novo com spring.

1 resposta
solução!

Ola Paulo,

O problema se dá porque o numero de páginas está nulo (presumo que esteja usando Integer p/ número de páginas). Quando o if vai ser aplicado ele precisa comparar o valor contido no Integer com o 0. Mesmo que tenha a validação de == null ela viria após a tentativa de comparação dos valores, que já causa NullPointerException.

Tente inverter a ordem de comparação dentro do if.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software