[STRUTS] Como faço para recuperar valor de outra Action?

Pessoal… estou com a seguinte duvida…
O usuário vem e faz login… depois ele pode ir para outra action…
como eu faço para recuperar o nome de usuário em outra action…

tenho as seguintes action’s:

login - tem o nome de usuário
visita - preciso do nome de usuário aqui!

Olá amigo, eu implemento da seguinte maneira (Não sei se é o correto, mais funciona!)…

Na action que eu faço a autenticaçào, eu jogo o bean com os dados do usuário logado pra sessão e depois, em qqr mmto, eu posso recuperar este objeto.

Ficaria mais ou menos assim:
LOGIN

...
LoginForm lf = new LoginForm();
//Pego o nome do usuário que é postado pelo form
lf.setLogin(request.getParameter("login")); 
request.setAttribute("_LOGIN", lf);
...

Claro que aí foi um exemplo, na prática tu pegaria os dados do banco e não seria apenas o nome, e sim as outras informações, como grup de usuário, nível de acesso e tudo mais…

E depois numa outra Action, qdo eu precisasse pegar o usuário eu faria:

...
LoginForm lf = (LoginForm) request.getAttribute("_LOGIN");
out.println("O usuário conectado é: "+ lf.getLogin());
...

Espero que tenha entendido e que eu tenha ajudado…

Abraços…

libajunior
eu fiz isso ai e deu nullPointer…

Erick, seta os valores na sessão.
Quando logar:

Em qualquer outra Action:

O getSession(bool) é pra vc identificar se vai ser criado ou não uma nova session. Então vc somente passa true quando criar a sessao do usuário.
Abraço.

fabiozoroastro
vlw hein cara… deu certo!!! :smiley:

“teoricamente” o simples foward de uma action para outra deveria levar os dados, pq o objeto request seria o mesmo. sendo assim o form e os parametros ainda estariam no request.

[]'s

erickcellani
Utilize o request.getAttribute e request.setAttribute

Na Action origem
request.setAttribute(“login”, loginUsuario);

Na Action destino
String visita = (String) request.getAttribute(“login”);

Normalmente, numa os dados do Usuario sao guardados na Session. Assim vc pode recuperar ela de qualquer lugar.

Eu jogo pela sessao e ta dando tudo certinho …Se vc quiser fazer de outra forma fica passando esses campos via html:hidden aí é so capiturar onde vc quiser !!! :smiley: