Enviar parametros de uma página para outra via POST
7 respostas
A
amgarcia
Boa noite pessoal!
Tenho duas páginas: pagina1.jsp e pagina2.jsp, gostaria de saber como eu faço para enviar o nome da pagina1.jsp para a pagina2.jsp só que por post, utilizando o getParameter ou ${param.nome} na pagina2.jsp eu consigo receber mais quando eu digito no endereco do browser pagina2.jsp?nome=aaa ele também recebe o nome e eu gostaria que recebesse apenas por POST.
Alguém poderia me ajudar?
Paginas abaixo:
pagina1.jsp
<%@pagelanguage="java"contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html; charset=ISO-8859-1"><title>Insert title here</title></head><body><formid="form1"name="form1"action="pagina2.jsp"method="post">
Nome:<inputid="nome"name="nome"type="text"><inputtype="submit"value="Enviar"></form></body></html>
pagina2.jsp
<%@pagelanguage="java"contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html; charset=ISO-8859-1"><title>Insert title here</title></head><body>
resultado nome=<inputid="nome1"name="nome1"type="text"value="${param.nome}"></body></html>
Outra pergunta, esse é o melhor geito de fazer? Ou melhor usar um servlet?
Alguém poderia me dar um Help de como ficaria? sou iniciante nessa parte.
Valeu.
D
DianaPJ
No servlet:
//recuperando os parametros da pagina1Stringparam1=request.getParameter("param1");Stringparam2=request.getParameter("param2");//setando os parametros para a pagina2request.setAttribute("param1",param1);request.setAttribute("param2",param2);//despachando a request para pagina2RequestDispatcherdispatcher=request.getRequestDispatcher("/pagina2.jsp");dispatcher.forward(request,response);
O problema é que você ainda está achando que está programando em ASP,PHP, etc.
Na verdade você está agora em um ambiente diferente, isso é JAVA e existem N outras formas bem eficientes de se trabalhar!
Terminando esta parte pesquise sobre conexão do hibernate (utilize annotations) com algum banco (de sua escolha) e a estruturação das classes em: bean, dao, modelo.[/color]
[color=orange]Ou então tente facelets:
Obs.: A segunda parte do tutorial está em alguns dos posts mais recentes!
[/color]
Espero ter ajudadoo…
A
amgarcia
Valeu amigos.
A
amgarcia
DianaPJ:
No servlet:
//recuperando os parametros da pagina1Stringparam1=request.getParameter("param1");Stringparam2=request.getParameter("param2");//setando os parametros para a pagina2request.setAttribute("param1",param1);request.setAttribute("param2",param2);//despachando a request para pagina2RequestDispatcherdispatcher=request.getRequestDispatcher("/pagina2.jsp");dispatcher.forward(request,response);
Olá Pessoal, fiz como a DianaPJ disse, muito legal, está tudo funcionando, a pagina1.jsp envia os dados para o servlet e o servlet chama a pagina2.jsp que recebe os dados. Porém se eu digito no browser http://localhost:8080/GravarContatos/pagina2.jsp?nome=Alexandre&cpf=[CPF removido] a pagina2.jsp recebe os valores por GET e eu gostaria que recebesse apenas por POST.
packagegravar;importjava.io.IOException;importjavax.servlet.RequestDispatcher;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;publicclassPessoaServletextendsHttpServlet{protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException{// recuperando os parametros da pagina1Stringparam1=request.getParameter("nome");Stringparam2=request.getParameter("cpf");// setando os parametros para a pagina2request.setAttribute("nome",param1);request.setAttribute("cpf",param2);// despachando a request para pagina2RequestDispatcherdispatcher=request.getRequestDispatcher("/pagina2.jsp");dispatcher.forward(request,response);}}