Retornar valor para JSP

6 respostas
V

Boa tarde galera!

Sou iniciante no mundo JAVA, e estou precisando de uma ajudinha.

Tenho uma página JSP contendo um formulário com três TEXT(campo1, campo2 e campo3) e um botão(submit com POST).

Preciso de algo bem simples, quero digitar um número no “campo1” e outro no “campo2”, clicar no botão, que chamará um servlet.
O servlet deverá fazer a soma dos valores e retornar para o “campo3”.

Até a parte de enviar os valores para o servlet e fazer a soma deu certo. Não estou conseguindo retornar o resultado da soma para o “campo3”.

Vlw!

6 Respostas

M

Seu Form na pagina JSP.

<form name="form1" method="post" action="/application/ExemploServlet" >
<table>
                                                           <tr>
                                                                <td style="text-align: right;" width="7px">
                                                                    <span class="LabelText">Campo1 </span>
                                                                </td>
                                                                <td style="text-align: left;"">
                                                                    <input id="campo1" type="text" name="campo1" size="10" />
                                                                </td>
                                                            </tr>

                                                            <tr>
                                                                <td style="text-align: right;" width="7px">
                                                                    <span class="LabelText">Campo2 </span>
                                                                </td>
                                                                <td style="text-align: left;"">
                                                                    <input id="campo2" type="text" name="campo2" size="10" />
                                                                </td>
                                                            </tr>

                                                            <tr>
                                                                <td style="text-align: right;" width="7px">
                                                                    <span class="LabelText">Campo3 </span>
                                                                </td>
                                                                <td style="text-align: left;"">
                                                                    <input id="campo3" type="text" name="campo3" size="10" />
                                                                </td>
                                                            </tr>


                                                            <tr>
                                                                <td style="text-align: right;" width="7px">
                                                                    <input type="submit" value="Submit" />
                                                                </td>
                                                                <td style="text-align: left;"">
                                                                    
                                                                </td>
                                                            </tr>
</form>

No seu ExemploServlet.java

@Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String campo1 = request.getParameter("campo1");
        String campo2 = request.getParameter("campo2");
        String campo3 = request.getParameter("campo3");

       // execute sua logica
      

      //redirecione para outra pagina JSP por exemplo
     response.sendRedirect("/application/outrapagina.jsp");
    }

Boa sorte

V

Murilo_Ferreira, obrigado pela atenção.
O Form no JSP está igual ao meu. E fiz até a linha 6 do servlet.

Agora tenho que somar o campo1 com o campo2 e jogar o resultado no campo3. Tudo isso na mesma JSP, tem como fazer isso?

rafael.luc

Também sou iniciante mas estou mechendo com isso no momento. O que deseja fazer pode ser feito de forma mais simples usando javascript.

V

Rafael, realmente com javascript ficaria bem mais simples. Mas preciso aprender esse conceito via servlet, para um projeto mais complexo. Esse foi um exemplo simples, pois fica mais fácil de explicar a minha dúvida e do pessoal entender.

Mesmo assim obrigado.

M

Bom, então você pode fazer o seguinte.

No seu Form JSP

// campos do form deixe assim
<input id="campo1" type="text" name="campo1" size="10" value="<%=request.getSession().getAttribute("campo1")%>"/> 
<input id="campo2" type="text" name="campo2" size="10" value="<%=request.getSession().getAttribute("campo2")%>"/> 
<input id="campo3" type="text" name="campo3" size="10" value="<%=request.getSession().getAttribute("campo3")%>"/>

No seu Servlet

String campo1 = request.getParameter("campo1");
        String campo2 = request.getParameter("campo2");
        String campo3 = request.getParameter("campo3");

       // execute sua logica
       int value1 = Integer.parseInt(campo1);
       int value2 = Integer.parseInt(campo2);
       int value3 = value1 + value2;

      // coloca valores na sessão
      request.getSession().setAttribute("campo1", String.valueOf(value1));
      request.getSession().setAttribute("campo2", String.valueOf(value2));
      request.getSession().setAttribute("campo3", String.valueOf(value3));

      //redirecione para a mesma pagina JSP que está o seu FORM
     response.sendRedirect("/application/suaPaginaJSP.jsp");

Boa sorte

V

Murilo, vlw pelas dicas.

Só tem um probleminha, quando abro a página pela primeira vez, já vem com os valores carregados(no campos1, campo2 e campo3) da sessão anterior.

Acho que falta bem pouco pra começar a funcionar certinho. Vlw pela força.

Criado 23 de novembro de 2011
Ultima resposta 24 de nov. de 2011
Respostas 6
Participantes 3