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!
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
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?
Também sou iniciante mas estou mechendo com isso no momento. O que deseja fazer pode ser feito de forma mais simples usando javascript.
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.
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
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.