[STRUTS] Como faço para recuperar valor de outra Action ?  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
erickcellani
JavaEvangelist
[Avatar]

Membro desde: 13/05/2006 13:37:12
Mensagens: 425
Localização: São Paulo - SP
Offline

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!

--
Érick F. Cellani
[MSN]
JOMI
JavaChild

Membro desde: 28/08/2006 09:16:07
Mensagens: 103
Offline

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.


SCBCD - quase la!!
SCWCD - 88%
SCJP - 70%
SCJA - 78%
libajunior
JavaChild

Membro desde: 27/03/2007 20:08:54
Mensagens: 147
Offline

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


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:


Espero que tenha entendido e que eu tenha ajudado..

Abraços...


=)

Libório Júnior
http://www.liboriojunior.eti.br
erickcellani
JavaEvangelist
[Avatar]

Membro desde: 13/05/2006 13:37:12
Mensagens: 425
Localização: São Paulo - SP
Offline

libajunior
eu fiz isso ai e deu nullPointer...

--
Érick F. Cellani
[MSN]
fabiozoroastro
GUJ Master
[Avatar]

Membro desde: 15/05/2006 16:23:01
Mensagens: 1262
Offline

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

if(loginSucesso()){
request.getSession(true).setAttribute("idPessoa", pessoa.getId());
request.getSession(true).setAttribute("nome", pessoa.getNome());
}


Em qualquer outra Action:

//bla bla bla...
String idPes = (String )request.getSession(false).getAttribute("idPessoa");


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.

[]'s

..."Apenas sorria!"

Twitter

Blog

java_coffe
Virtual Machine Man

Membro desde: 08/06/2006 09:28:04
Mensagens: 702
Localização: Manaus - AM
Offline

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 !!!
[WWW]
erickcellani
JavaEvangelist
[Avatar]

Membro desde: 13/05/2006 13:37:12
Mensagens: 425
Localização: São Paulo - SP
Offline

fabiozoroastro
vlw hein cara... deu certo!!!

--
Érick F. Cellani
[MSN]
jgbt
GUJ Master
[Avatar]

Membro desde: 04/06/2003 15:01:48
Mensagens: 1286
Localização: Porto Alegre/RS
Offline

"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

João Bier
Desenvolvedor Java
[Email]
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team