Duvida Servlet

8 respostas
fillipeweb

Olá,

Tenho uma servlet que é chamada por varias JSP’s. Gostaria de saber se tem como nessa servlet descobrir quem esta chamando ela, no caso o nome da pagina JSP.

OBrigado.

8 Respostas

von.juliano

Você pode colocar em cada jsp um campo hidden, cada um com um valor que lhe for útil, no caso, os nomes das jsps. Por exemplo, coloque o seguinte em uma página:<input type="hidden" name="pag" value="pagina1"/>
E o seguinte em outra:<input type="hidden" name="pag" value="pagina2"/>
Então, no seu Servlet, é só fazer: String pagina = request.getParameter("pag");
Assim, independente de qual página vc estiver, o servlet vai saber quem o chamou.

Blz? Flw! :thumbup:

celso.martins

Amigo, como ninguém respondeu ainda, vou arriscar.

Creio que você possa criar um input type=hidden na sua JSP e colocar como valor o nome dela.

Lá no seu servlet você pode fazer um request.getParameter e recuperar esta informação.

Algo assim:

E no servlet ficaria assim:

Não sei se é a melhor forma, mas está aí.

Abraços!

celso.martins

von.juliano:
Você pode colocar em cada jsp um campo hidden, cada um com um valor que lhe for útil, no caso, os nomes das jsps. Por exemplo, coloque o seguinte em uma página:<input type="hidden" name="pag" value="pagina1"/>
E o seguinte em outra:<input type="hidden" name="pag" value="pagina2"/>
Então, no seu Servlet, é só fazer: String pagina = request.getParameter("pag");
Assim, independente de qual página vc estiver, o servlet vai saber quem o chamou.

Blz? Flw! :thumbup:

Ohhhh peste. Pensamos juntos. =)

von.juliano

celso.martins:
von.juliano:
Você pode colocar em cada jsp um campo hidden, cada um com um valor que lhe for útil, no caso, os nomes das jsps. Por exemplo, coloque o seguinte em uma página:<input type="hidden" name="pag" value="pagina1"/>
E o seguinte em outra:<input type="hidden" name="pag" value="pagina2"/>
Então, no seu Servlet, é só fazer: String pagina = request.getParameter("pag");
Assim, independente de qual página vc estiver, o servlet vai saber quem o chamou.

Blz? Flw! :thumbup:

Ohhhh peste. Pensamos juntos. =)

Sim, eu só fui mais rápido no gatilho! :mrgreen: hehehe, flw!

fillipeweb

VLww ai, acho que vou ter que fazer isso msm. Pq acho q ano tme outro jeito.

vlw

ffranceschi

Tem um atributo do request que faz isso, se nao me engano era o getPathInfo() ou getServletPath() se nao conseguir posta aqui de novo

von.juliano
Testei aqui e obtive os seguintes resultados:

request.getRequestURI() --> /ZZZ/teste , onde ZZZ é o nome do meu projeto e teste é a ação do meu servlet mapeada no web.xml;

request.getServletPath() --> /teste , onde teste é a ação do meu servlet mapeada no web.xml;

Agora fiquei curioso, há uma forma mais “nobre” de se identificar a página que chamou a ação?

Flw! :thumbup:

brunoGama

vai virar um grande formulário como nas coisas feitas em c# (.net) que tem viewstates pra la e pra ca!
a o site acaba virando um grande formulário. acho feio e suja o código pra caramba (para não usar outra expressão)!

Criado 9 de novembro de 2007
Ultima resposta 9 de nov. de 2007
Respostas 8
Participantes 5