Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Mostrar o erro no jsp

Não estou conseguindo passar a mensagem de erro para o jsp, já fiz vários testes ate mesmo @NotEmpty (inclusive queria poder passar a mensagem dessa forma também) porem mesmo assim o jsp não mostra. Eu postei o projeto completo no git https://github.com/BryanMotta/FormacaoJava/tree/master/bitbank . Esse jsp https://github.com/BryanMotta/FormacaoJava/edit/master/bitbank/src/main/webapp/WEB-INF/views/cliente/form.jsp que estou testando as mensagens. Também queria ajuda na tag form:input path="" , se colocar ela o jsp trava.

5 respostas

Olá Bryan!

Tenta rodar os comandos Clean e Install do Maven.

Você pode fazer isso no eclipse da seguinte forma:

1 - Clique com o botão direito do mouse no seu projeto e vá até "Run as"

2 - Escolha "Maven Clean" e espere ele limpar

3 - Repita o primeiro procedimento mas agora clique em "Maven Install" e veja se agora está funcionando.

Outra solução seria limpar seu servidor. Para isso faça o seguinte:

1 - Vá na Aba de server

2 - Clique no seu servidor com o botão direito e vá em Clean

3 -Reinicie o Server

Veja se alguma dessas soluções te ajudam!

Aguardo seu retorno! ^^

Olá. Infelizmente nenhuma dessa alternativas funcionou, teria alguma outra forma de fazer esse código funcionar? Cheguei a apagar as classes que não estava usado, e certifiquei de colocar o compilador no java 10, mesmo assim nada. Se colocar <form:input path=

GRAVE: Servlet.service() for servlet [dispatcher] in context with path [/bitbank] threw exception [An exception occurred processing [/WEB-INF/views/cliente/form.jsp] at line [18]

15:     <form:form action="/bitbank/cliente/cadastrar"   method="post">
16:         <div>
17:             <label>Nome</label> 
18:             <form:input path= "titular.nome" /> 
19:             <form:errors path= "titular.nome"  />
20:         </div>
21:         <div>


Stacktrace:] with root cause
java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'command' available as request attribute
    at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:153)
continua...
esse metodo result.getFieldErrors() retorna isso
[Field error in object 'cliente' on field 'titular.nome': rejected value []; codes [field.required.cliente.titular.nome,field.required.titular.nome,field.required.nome,field.required.java.lang.String,field.required]; arguments []; default message [null]]

messages

field.required = Campo é obrigat�rio
field.required.titular.nome = O Campo nome é obrigat�rio
field.required.cliente.titular.nome = O Campo nome é obrigat�rio

Opa Bryan, pelo erro apresentado parece que está faltando um método getNome() na classe Cliente.

Poderia verificar isso por favor?

Quando você usa esse código na JSP:

<form:input path= "titular.nome" /> 

Ele procura por um "getNome()" na classe, se ele não achar pode ocasionar em um erro.

Se não tiver esse método na classe, insira e tente novamente.

Aguardo seu retorno!

Nada disso funciona, e o erro principal é não mostrar o erro de campo requerido, esse que não consigo resolver. Você consegue dar uma olhada no projeto que esta no git para ver se esta correto?

solução

Refiz todo meu projeto do zero com basicamente o mesmo código, só mudei a ordem de criação e agora esta tudo funcionando.