JSF: Passando parâmetros de um managedbean para outro managedbean  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
rufostec
Thread.start()

Membro desde: 24/08/2006 16:02:14
Mensagens: 46
Offline

Bom dia a todos,

sou um iniciante em JSF, vou colocar a situação no exemplo abaixo

estou com uma questão, tenho uma pagina1.jsf com o managedbean Login.java e uma outra pagina2.jsf com o managedbean LoginX.java, ambas tem propriedades iguais usuario e senha, com seus getters e setters, eu gostaria que na pagina2.jsf no LoginX.java tenha o mesmo dado do usuario da Login.java, como faço isso?

eu to colocando essa situção nessa forma só que não é rsss é que fica fácil de entender o problema.

não posso usar sessão

[Email] [MSN]
Eduardo Bregaida
Moderador
[Avatar]
Membro desde: 13/11/2003 14:11:35
Mensagens: 2416
Localização: São Caetano do Sul - SP
Offline

rufostec wrote:Bom dia a todos,

sou um iniciante em JSF, vou colocar a situação no exemplo abaixo

estou com uma questão, tenho uma pagina1.jsf com o managedbean Login.java e uma outra pagina2.jsf com o managedbean LoginX.java, ambas tem propriedades iguais usuario e senha, com seus getters e setters, eu gostaria que na pagina2.jsf no LoginX.java tenha o mesmo dado do usuario da Login.java, como faço isso?

eu to colocando essa situção nessa forma só que não é rsss é que fica fácil de entender o problema.

não posso usar sessão



O SaveState nao te ajudaria nesse caso?
[Email] [WWW] [MSN]
rufostec
Thread.start()

Membro desde: 24/08/2006 16:02:14
Mensagens: 46
Offline

acho q não

eu vi um exemplo de comunicação entre beans mas usaria session e eu não posso nem falar disso rssss

[Email] [MSN]
Eduardo Bregaida
Moderador
[Avatar]
Membro desde: 13/11/2003 14:11:35
Mensagens: 2416
Localização: São Caetano do Sul - SP
Offline

rufostec wrote: acho q não

eu vi um exemplo de comunicação entre beans mas usaria session e eu não posso nem falar disso rssss



Nao nao o SaveState vc vai salvar o estado atual dos beans e passa pelo args alimentando os outros bens. nao é Session

Dá uma olhada no site do Apache Tomahawk
http://myfaces.apache.org/tomahawk/
[Email] [WWW] [MSN]
rufostec
Thread.start()

Membro desde: 24/08/2006 16:02:14
Mensagens: 46
Offline



vou ver o site deles,

qualquer coisa eu choro aqui, sua idéia me deixo confuso rs
[Email] [MSN]
Eduardo Bregaida
Moderador
[Avatar]
Membro desde: 13/11/2003 14:11:35
Mensagens: 2416
Localização: São Caetano do Sul - SP
Offline

rufostec wrote:

vou ver o site deles,

qualquer coisa eu choro aqui, sua idéia me deixo confuso rs


Hahaha normal

http://myfaces.apache.org/tomahawk/uiSaveState.html

Vê aí =)
[Email] [WWW] [MSN]
rufostec
Thread.start()

Membro desde: 24/08/2006 16:02:14
Mensagens: 46
Offline

não deu certo, acho q to usando errado esse cara t:saveState.

vou pesquisar melhor, mas se tiver algum exemplo me ajudaria.

obrigado.
[Email] [MSN]
urubatan
Moderador
[Avatar]

Membro desde: 21/09/2002 10:31:26
Mensagens: 2481
Localização: Porto Alegre/RS
Offline

tu pode fazer binding entre as propriedades dos beans sem problemas, mesmo eles não sendo armazenados na session.
faz isto usando o faces-config.xml mesmo ...
tem isto no último post do meu blog sobre JSF, la eu estou utilizando session, mas não é necessário isto ...

Outra forma seria armazenar os dados em uma cookie e recuperar eles no outro MB

[]'s
Rodrigo Urubatan
http://www.urubatan.com.br
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
[WWW]
toninho
Thread.start()
[Avatar]

Membro desde: 28/03/2006 08:17:31
Mensagens: 36
Localização: Presidente Olegário / MG
Offline

Olá, não sei se entendi direito a pergunta mas se você quer acessar de dentro de um método de um bean x, o estado (as propriedades) de um bean y, pode fazer algo assim:

No meu caso criei uma classe com um método estático



E para recuperar o bean eu faço assim:




sendo que como parâmetro do método getContextInfo vc vai passar o nome do bean como foi registrado no faces-config.

Inté
[WWW] [MSN]
rufostec
Thread.start()

Membro desde: 24/08/2006 16:02:14
Mensagens: 46
Offline



Vou testar essas e depois eu digo aqui.

vcs são demais, muito obrigado antecipadamente.
[Email] [MSN]
rufostec
Thread.start()

Membro desde: 24/08/2006 16:02:14
Mensagens: 46
Offline

vamos lá,

o esquema do ubiratan eu ainda to tentando entender, se puder me ajudar eu aguadeço, mas o esquem do amigo ai funcionou numa boa, quero agora entender esse Binding, pq eu nunca usei ele.

muito obrigado a todos.
[Email] [MSN]
rogeriosantos77
Java Ninja
[Avatar]

Membro desde: 30/07/2007 15:00:53
Mensagens: 281
Localização: Jerusalém
Offline

Ve se isso te ajuda : eu vi no form da sun


FacesContext ctx = FacesContext.getCurrentInstance();
Map sessionMap = ctx.getExternalContext().getSessionMap();

OutroManage mbean = (OutroManage) sessionMap.get("OutroManage");

this.nacionalidade = mbean.getNacionalidade();
ou
mbean.setNacionalidade("teste");

Rogerio L Santos
@roglusa - Twitter
[WWW] [MSN]
rufostec
Thread.start()

Membro desde: 24/08/2006 16:02:14
Mensagens: 46
Offline



vou ver esse tbm!

Obrigadão e um ótimo final de semana.
[Email] [MSN]
Alex Pires
Smalltalk

Membro desde: 18/08/2007 21:43:58
Mensagens: 1
Offline

rufostec


Estou implementando um sistema em JSF e tambem tive este problema com relação a passagem de parâmetro no JSF.

Depois de pesquisar muito achei a página do BalusC que é uma das poucas que trata deste assunto de diversas formas diferentes. Dá uma olhada lá e veja qual é o caso que se encaixa melhor no que você estiver fazendo

Link: http://balusc.xs4all.nl/srv/dev-jep-com.html

Espero que resolva...


Abraço!
[WWW]
ACDias
JavaGuru
[Avatar]

Membro desde: 11/08/2006 19:54:51
Mensagens: 219
Localização: Patos de Minas
Offline

Ué... Se ambas as classes têm atributos iguais, por que não usa o mesmo managed bean para ambas as páginas e mantém seu estado com o t:saveState?

Se ainda assim quiser fazer dessa maneira, você pode fazer o seguinte:
Use o t:saveState na página1 para o managedbean de login.java
Na página2 em vez de usar os atributos do managedbean de loginx.java continue com os de login.java e faça isso:

Acho que isso resolve seu problema.
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team