Gente, o negócio é o seguinte: estou tentando setar um atributo no pedido no servlet e usá-lo em um arquivo .jsp, mas não estou conseguindo. Como o código é muito grande, vou mostrar a parte que interessa:
//Servlet ...//Aqui eu faço uma procura em um banco de dados...Stringsaida;if(procura.resultado.size()!=0){//Se retornou resultadosaida=(String)procura.resultado.elementAt(0);for(inti=1;i<procura.resultado.size();i++){saida+="@"+procura.resultado.elementAt(i);}pedido.setAttribute("buscaResultado",saida);}despachante=getServletConfig().getServletContext().getRequestDispatcher("/busca.jsp");despachante.forward(pedido,resposta);return;}...maiscodigoaqui...
Cara, mas no servlet eu não to adicionando aquele atributo na seção, e sim no pedido… isso vai funcionar?
vou tentar aqui…
uuhuh
E
EddiE
request.getParameter("NomeDoAtributo");
cv1
Hmm… nao era pra ser getParameter?
Jair_Rillo_Junior
verdade… foi mal ae… eu vi setAttribute, getAttribute e já pensei que era Sessão. malz ae
depois de 2 semanas sem trabalhar, estou meio zonzo, hehehe
R
Rodrigo.Decalque
ai ai!
não acredito que seja só isso
EAHeuiaiEAuhEA
xo testar!
obrigado =)
R
Rodrigo.Decalque
Hmm… outro problema que costumo ter (inclusive, tá acontecendo agora) é que eu atualizo o arquivo .jsp, reinicio o tomcat, mas ele não o recompila; quando procuro o meu busca_jsp.java, ele continua igual o antigo, não quer mudar de jeito nenhum
como resolvo isso? =(
thiagorani
Isso pode ser problema de cache do browser!
Tenta apagar os .java e .class que o tomcat gera, dentro da pasta work-standalone-localhost-seucontextroot
Ja tive problemas semelhantes, algumas vezes era cache do browser outras problema do tomcat!
R
Rodrigo.Decalque
sim sim sim!
deletei o .java e o .class e funcionou
=)
muito obrigado!
R
Rodrigo.Decalque
Hmm… agora que consegui que compilasse, vi que ainda não deu certo… se é getParameter no request, qual o comando pra setar?
é setAttribute mesmo?
resumindo: no servlet eu to dando setAttribute no request e despachando pra um .jsp, e no jsp eu queria pegar essa variável que eu setei no servlet. Como faço?
R
Rodrigo.Decalque
Hm… agora eu to vendo aqui outras páginas dessa mesma aplicação que um cara aqui do serviço tinha feito, e tudo tá com request.getAttribute(“blabla”), e funcionando perfeitamente…
é ele que tem o toque divino ou eu que to fazendo alguma coisa a mais de errado?
=(
thiagorani
Cara alguma coisa ae esta errada no seu codigo.
Se voce faz um request.setAttribute(referencia,valor) na servlet no jsp é só recuperar request.getAttribute(referencia).
Ta estranho esse não funcionamento! Da uma olhada ae se em algum lugar do codigo voce nao mata oq tinha setado.
thiagorani
o getParameter só funciona qdo os parametros sao passados pela url.
…teste.jsp?param=teste
request.getParameter(“param”)
thiagorani
“Rodrigo.Decalque”:
Gente, o negócio é o seguinte: estou tentando setar um atributo no pedido no servlet e usá-lo em um arquivo .jsp, mas não estou conseguindo. Como o código é muito grande, vou mostrar a parte que interessa:
//Servlet ...//Aqui eu faço uma procura em um banco de dados...Stringsaida;if(procura.resultado.size()!=0){//Se retornou resultadosaida=(String)procura.resultado.elementAt(0);for(inti=1;i<procura.resultado.size();i++){saida+="@"+procura.resultado.elementAt(i);}pedido.setAttribute("buscaResultado",saida);}despachante=getServletConfig().getServletContext().getRequestDispatcher("/busca.jsp");despachante.forward(pedido,resposta);return;}...maiscodigoaqui...
Quando testo, o jsp imprime null!
O que estou fazendo de errado? =(
esse atributo “pedido” é o mesmo request que o construtor do doXXX(request,response) da servlet recebe ???
R
Rodrigo.Decalque
Sim, só que ao invés de botar o nome em inglês, nós botamos em portugues =)
Não sei porque, mas milagrosamente deu certo, eu tinha mudado um tanto de coisa (como o getParameter e tudo), e, quando voltei pro que tava, deu certo, uhuhuh, melhor assim =D
A última dúvida agora: na hora de setar o atributo, eu só posso passar como valor uma String ou posso passar um objeto qualquer, pra depois recuperá-lo com getAttribute?
Exemplo:
//Imaginem que fiz uma classe chamada AbacaxiAbacaxia=newAbacaxi(folhas,fruta,semente);request.setAttribute("abacaxi",a);
e aí, na hora de pegar:
Abacaxi b = (Abacaxi) request.getAttribute("abacaxi");
isso dá certo? =D
thiagorani
Correto.
Qualquer tipo, basta fazer um cast ao recuperar!
R
Rodrigo.Decalque
funciona então?
que legal!
uhuh
obrigado, vou ver se agora dá tudo certo aqui
=)