Retorno de variavel em jsp

1 resposta
C

Bom dia galera, tudo joia?Eu sou bem novato com jsp, servlets e wservices. Estou fazendo um sistema de login e a minha duvida, creio eu, ser bastante simples.

Fiz um index.jsp utilizando css e fiz o seguinte form:
<form action="Cliente7ServletGrava" method="POST">
        Login:<br> <input type="text" name="login_form" value="" /><br>
        Senha:<br> <input type="password" name="senha_form" value="" /><br>
        Confirmar:<br> <input type="password" name="senha2_form" value="" /><br>
        <input type="submit" value="Registrar" />
        </form>

Eu to pegando esses campos com um servlet :

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        String name_client_loga = request.getParameter("login_form").toString();
        String pass_client_loga = request.getParameter("senha_form").toString();
        String pass2_client_loga = request.getParameter("senha2_form").toString();
       
        try {
            //testo se as senhas conferem
            if(pass_client_loga.equalsIgnoreCase(pass2_client_loga)){
                
                try { 
                    org.projeto.logagrava.clientews.Logagrava port = service.getLogagravaPort();
                    
                    java.lang.String nomeGravar = name_client_loga;
                    java.lang.String senhaGravar = pass_client_loga;
                    java.lang.String result = port.gravacao(nomeGravar, senhaGravar);
                   
                    //depois da chamada a um webservice, pego o resultado e encaminho o usuario a uma pagina de acordo com o resultado obtivo, se OK , cadastrou com sucesso. caso contrario, encaminho para errogravacao
                    if(result.equalsIgnoreCase("ok")){
                       response.sendRedirect("http://localhost:8080/Cliente7/sucessocadastro.jsp");
                    }
                    else{
                        response.sendRedirect("http://localhost:8080/Cliente7/errogravacao.jsp");
                    }
                } catch (Exception ex) {
                    //html de erro
                   
                    ex.printStackTrace();
                    
                }

            }
como comentado no codigo , se a gravação nao ocorre com sucesso, eu faço uma chamada ao errogravacao.jsp O que eu queria era o seguinte, nessa jsp , ter um retorno assim:

" O usuario X nao está disponivel " esse x seria a minha variavel "name_client_loga"

Como que faço no jsp pra mostrar uma variavel?

valew galera
e desde ja obrigado!
[]'s

1 Resposta

ze_kiefa

Na Servlet você cria um atributo na Request.

protected void processRequest(HttpServletRequest request, HttpServletResponse response)  {
if(result.equalsIgnoreCase("ok")){
                       response.sendRedirect("http://localhost:8080/Cliente7/sucessocadastro.jsp");
                    }
                    else{
                       request.setAttribute("erro", " O usuario X nao está disponivel " + name_client_loga);
                       RequestDispatcher dispatcher = request.getRequestDispatcher("/errogravacao.jsp");
                       dispatcher.forward(request, response);
                   }
}

Depois recupera no JSP semelhante a Servlet.

Erro: &lt;% println(request.getParameter("erro")); %&gt;

Dicas
Você não testou se as variáveis que vêm do formulário estão nulas.
Há inúmeros frameworks (JSF, Mentawai, VRaptor, Spring) que facilitam esse processo de envio e recuperação de dados via HTTP.
Outra dica é usar JSTL no lugar de scriptlets (código Java em páginas) no JSP.

Mais detalhes:
Forward versus redirect
JSTL e a implentação
VRaptor
Mentawai
JSF
Spring

Criado 12 de agosto de 2008
Ultima resposta 12 de ago. de 2008
Respostas 1
Participantes 2