[JSF] Comunicação entre backbeans de sessão

27 11 2009

Esses dias quando estava desenvolvendo minha primeira aplicação com o JSF fiquei na duvida de como realizar a comunicação entre backbeans com escopo de sessão.

Acabei utilizando a solução de colocar os beans nas propriedades da sessão, sendo que quando outro backbean precisar se comunicar o mesmo acessa as propriedades da sessão buscando o bean desejado.

Hoje descobri que existe uma segunda alternativa para resolver esse problema,  basta acessar a própria instancia criada pelo framework JSF, da seguinte maneira:


FacesContext context = FacesContext.getCurrentInstance();
//trocar o backBean pelo tipo do bean será buscado Ex: LoginManagerBean
backBean bean = (backBean) context.getExternalContext().getSessionMap().get("nome do backbean no faces-config");

Essa segunda alternativa me parece mais interessante, pois, não é necessário ficar gerenciando a criação dos beans nas propriedades da sessão. O um dos únicos cuidados é se certificar que no momento em que o bean for acessado/buscado, o mesmo já tenha sido “instanciado”/construído pelo sistema.

Referência AQUI:

Anúncios

Ações

Information

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




%d blogueiros gostam disto: