WebWork - Action pegar um Atributo vindo de um Servlet?

3 respostas
D

opa pessoal…

to com 2 duvidas com WW… qualquer uma q seja respondida, resolve meu problema…

:arrow: O WW pega valores de um servlet q enviou os atributos por meio de um Dispatcher de um SERVLET?
pq olha… tenho o seguinte código num servlet:

passaNome.java

String nome = "daniel";
request.setAttribute("nome",nome);           
request.getRequestDispatcher("mostraNome.action").forward(request,response);

e no minha action tenho isso:

mostraNomeAction.java

String pessoa = this.getNome();

só q essa String “pessoa” da Action, sempre fica nula… ou seja, ela nao ta recebendo o Atributo do Servlet acima…
tem como fazer a Action receber um atributo por meio de um Dispatcher de um Servlet?

minha outra duvida (parece mais simples):
:arrow: numa Action do WW, eu consigo pegar a URL da pagina?

pq com Servlet puro eu consigo… faço assim:
umServlet.java

String url = request.getRequestURL().toString();

e pronto… funciona!

mas eu precisaria q isso funcionasse numa Action… só q na Action eu nao tenho o objeto “request”
alguem pode me ajudar com isso?

MTO OBRIGADO! :smiley:

Obs.: eu sei q logo 2 perguntas é meio abuso… hehehh. mas qualquer ajuda mesmo q bem simples é mto válido!
valeu pessoal!
abraços!

3 Respostas

C

Tem sim.
Nunca fiz isso, mas vou precisar fazer e já ví na documentação:
http://www.opensymphony.com/webwork/api/com/opensymphony/webwork/ServletActionContext.html

Acho que o Request resolve seus 2 problemas, não ?

_fs

Apesar de ter acesso aos objetos HttpServletResquest e Response, evite usá-los.

Quanto ao primeiro problema, imagino que era para funcionar normalmente, dado que a coisa toda funciona a partir de uma requisição http, que é o que acontece quando você faz:
getRequestDispatcher

Portanto, tem certeza absoluta que há um getter e um setter com os nomes getNome e setNome na Action? Se sim, tem certeza que não está sobrescrevendo o valor desse atributo em nenhum momento antes de requisitá-lo?

D

oi Lipe!

realmente foi burrice minha…
eu tava errando no caminho do getRequestDespatcher()… ou seja, os dados nao tavam sendo mandados pra Action! hehehehe…

mesmo assim valeu aí!!
Abraços!

Criado 16 de março de 2005
Ultima resposta 16 de mar. de 2005
Respostas 3
Participantes 3