Enviar um parametro de JSP para JSP sem passar por um Servlet?

2 respostas
G

Olá,

To estudando a integração de Jsp e Servlets numa aplicação e estou com uma duvida !!

Alguém sabe como enviar parametros de um jsp para o outro, sem usar um Servlet.

Não consigo na minha aplicação enviar para “pag3.jsp” os parametros que o Servlet manda para “pag2.jsp” .

Pois pelo que estudei, não tem como enviar parâmetros para varios JSPs através do mesmo Servlet , pois o objeto request é unico.

e até agora não consegui achar um código para implementar num JSP que recebe um parâmetro e envia ele para outro JSP .

Desde já agradeço !!

Aqui está o meu código. (está em anexo tambem)

Cliente.java

package entidade;

public class Cliente {

	private String nome;

	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
}

pag1.jsp.:

...
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Pagina1</title>
</head>
<body>
	<form action="ServletTeste" method="get">
		Digite seu nome : <input type="text" name="nome">
		<input type="submit" value="Enviar">
	</form>
</body>
</html>

Servlet.java

...

import entidade.Cliente;

@WebServlet("/ServletTeste")
public class ServletTeste extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		String nome = request.getParameter("nome");

		Cliente c1 = new Cliente();
		c1.setNome(nome);

		request.setAttribute("cliente1", c1);
		request.getRequestDispatcher("/pag2.jsp").forward(request, response);
	}
}

pag2.jsp

....
<jsp:useBean id="cliente1" class="entidade.Cliente" scope="request" />

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Pagina2</title>
</head>
<body>

	Olá ${cliente1.nome}<p>
	Caso você queira ir para pagina 3 , clique aqui:<br>
	<form action="pag3.jsp">

<!-- ???? o que eu posso colocar aqui para enviar o ${cliente1.nome} para a pagina 3  -->

		<input type="submit" value="Enviar">
	</form>
</body>
</html>

pag3.jsp

...
<jsp:useBean id="cliente1" class="entidade.Cliente" scope="request" />

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Pagina 3</title>
</head>
<body>

<!-- Tenho tentado dos dois jeitos -->

Olá ${cliente1.nome}<p>

<!-- ou -->

Olá <jsp:setProperty property="nome" name="cliente1"/>

</body>
</html>

O Nome digitado na pag1 aparece na pag2 , mas não na pag3.

(O arquivo zip está em anexo)

Obrigado gente !!

2 Respostas

sech777

Ja q o cliente é o mesmo em tds as paginas, pq n joga na sessao?

wender.jean

Tenta colocar um “hidden” no formulario 2 recebendo o ${cliente1.nome} no value, ai quando você submeter o formulario pra pagina 3 você vai recuperar esse valor com o getParam.

Criado 12 de janeiro de 2012
Ultima resposta 13 de jan. de 2012
Respostas 2
Participantes 3