Resposta de uma exceção

4 respostas
D

Olá Pessoal!

Gostaria de saber como fazer para que um erro gerado em uma exceção, retorne para a mesma página de onde o usuário fez uma requisição a um servlet. Eu não queria que ele redirecionasse o usuário para uma página de erro e sim exibir o erro na página que ele estava antes de fazer a requisição. Vcs sabem como isso é feito via servlet?
Não há necessidade de utilização de ajax.

Agradeço desde já.

4 Respostas

gui_sv

no catch vc pode fazer assim

try { //seu program }catch(...){ request.setAttribute("mensagemDeErro", "Deu Erro! Tente novamente"); // Manda para a mesma pagina }

e na pagina jsp

<% String mensagem = request.getAttribute("mensagemDeErro"); if(mensagem != null) { %> //html <%= mensagem %> <% } %>

fabim

ou, pra evitar o scriplet:

<c:if teste=${mensagemDeErro != null}>
          Ocorreu um erro ao realizar a operação: ${mensagemDeErro}
     </c:if>
D

Valeu pessoal! Segui as dicas do KISS boy e funcionou redondo.
Eu deveria ter feito isso Com um framework descente tipo Javaserver Faces mas o prazo e a falta de malícia acabou trazendo para essa coisa.
A aplicação tá meio Frankeinstein mas depois vou ver se dou uma ajeitada.

E

Faça o seguinte, no seu servlet faça um tratamento de exceção e caso de algum erro faça com que ele envie a respota para mesma pagina que chamou ele. Com o detalhe de acrescentar a resposta em alguma variavel, para que voce apresente o erro para o usuario.

No seu jsp, coloque uma condição, que se a variavel vier preenchida voce mostra a variavel com a mensagem para o usuario, caso contrario segue o fluxo normal daquela pagina. Assim ela servirá tanto para as chamadas normais quanto para as resposta de erros.

Criado 16 de outubro de 2008
Ultima resposta 16 de out. de 2008
Respostas 4
Participantes 4