Como passar dados do servlet para jsp?

Estou com uma duvida…

como faço para passar informações de neu servlet para minha JSP?
Por exemplo, tenho uma variável “nome” no servlet, e desejo passa-la para meu JSP, como devo fazer?

Desde já agradeço a atenção.
Marcelo Madeira

binde a variável na requisição, ou na sessão… ex:

no servlet:

request.setParameter( "var", nome );
// ou
// session.setParameter( "var", nome );

no jsp:

String nome = (String) request.getParameter( "var" );
// ou
// String nome = (String) session.getParameter( "var" );

Valeu Matheus…

vou tentar colocar isto em pratica agora.
qq coisa posto aqui novamente.

Obrigado.
Marcelo

Se não me engano não existe setParameter no request. Use setAttribute:

No servlet:

Object o = .....;
request.setAttribute("nomeAtributo", o);

No jsp:

Object o = request.getAttribute("nomeAtributo");

[]'s
carisio

[quote=“carisio”]Se não me engano não existe setParameter no request. Use setAttribute:

No servlet:

Object o = .....;
request.setAttribute("nomeAtributo", o);

No jsp:

Object o = request.getAttribute("nomeAtributo");

[]'s
carisio[/quote]

isso isso isso… eu havia acabado de acordar qnd postei isso aqui… falha grave minha :doh: , to pirando

ta dandu um erro no objeto req.

Veja o codigo do servlet:

[code]
import java.io.;
import javax.servlet.
;
import javax.servlet.http.*;

public class Busca extends HttpServlet{
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
String nome = req.getParameter("txtNome");
String cidade = req.getParameter("txtCidade");
String telefone = req.getParameter("txtTelefone");

	req.setParameter("t1", nome);
	req.setParameter("t2", cidade);
	req.setParameter("t3", telefone);
	res.sendRedirect("teste.jsp");

}

}[/code]

o erro esta aqui:

req.setParameter("t1", nome); req.setParameter("t2", cidade); req.setParameter("t3", telefone);

Alguem pode me ajudar?

esqueçam o meu post

kkk

valeu

O q seria este “object o”

Se eu fizer assim funciona?

no servlet:

req.setAttribute("nome", nome);

na JSP:

nome: <%=req.getAttribute("nome")%>

sim, funciona. Ele vai chamar toString() no Object qnd passar pro println pelo <%= %>

Veja como eu estou fazendo…

no servlet:

req.setAttribute&#40;&quot;nome&quot;, nome&#41;;
req.getRequestDispatcher&#40;&quot;/teste.jsp&quot;&#41;. forward &#40;req, res&#41;;

No JSP:

&lt;%@page import=&quot;javax.servlet.*&quot;%&gt;
&lt;%@page import=&quot;javax.servlet.http.*&quot;%&gt;

&lt;html&gt;
&lt;head&gt;
&lt;title&gt;teste&lt;/title&gt;
&lt;/head&gt;

&lt;body&gt;


nome&#58; &lt;%req.getAttribute&#40;&quot;nome&quot;&#41;;%&gt;


&lt;/body&gt;

&lt;/html&gt;

Mas esta dando este erro no JSP:

C&#58;\tomcat\work\Standalone\localhost\testes\teste_jsp.java&#58;55&#58; cannot find symbol
symbol  &#58; variable req
location&#58; class org.apache.jsp.teste_jsp
req.getAttribute&#40;&quot;t1&quot;&#41;;
^

O q pode estar acontecendo?

no jsp não é req, o objeto implícito é request

Valeu de novo Matheus…

agora naum esta dando mais nenhum erro, mas naum esta aparecendo o nome (parametro).

na pagina teste.jsp, deveria aparecer assim:

nome&#58; Marcelo Madeira

e está aparecendo assim:

nome&#58;

então confira o valor do atributo q vc esta bindando no request… :roll:

Ola Matheus,

fiz algumas alterações
agora no teste.jsp esta aparecendo assim:

nome&#58; null

o q pode ser?

ele não ta achando um valor no request com o nome q vc esta usando pra recuperar…

Agora deu certo…

o q esta dando errado era o objeto HttpServletRequest, foi so eu mudar ele de req para request que deu certo.

Valeu pelas dicas.
E até a próxima

No seu jsp vc vai usar:

nome&#58; &lt;%request.getAttribute&#40;&quot;nome&quot;&#41;;%&gt; 

Todo jsp é na verdade um servlet. Tudo que vc põe entre <%%> vai para o método _jspService(request, response) do seu servlet. O nome do objeto que vc recebe é request, e não req.

Troca o req por request que deve funcionar.

[]'s
carisio

Desconsiderem meu último post, não vi que tinha 2 páginas no fórum… Só olhei a primeira…

[]'s
carisio

nao eh req

o certo eh request

nome&#58; &lt;%request.getAttribute&#40;&quot;nome&quot;&#41;;%&gt;[/code]