ola amigo sou novo por aqui, e novo em jsf tb.
bem, estou desenvolvendo um projeto e estou com uma duvida grande, bem meu problema é o seguinte: no meu projeto tudo o sistema é iniciado quando seleciona uma empresa na pagina inicial dai todas as operaçoes dos outros managedbean dependem da empresa que o usuario selecionou,os os parametros dos selects, inserts, etc. eu a principio pensei em utilizar um managedbean como um perfil de acesso que inicialmente seria preenchido com os dados de acordo com a empresa selecionada pelo usuario,dai surgui tem como eu acessar os dados de uma sessão de um outro managebean? se sim, seria isso a maneira mais facil de fazer? seria a maneira corretade fazer?
tem como eu acessar os dados de uma sessão de um outro managebean?
Se vc quer trafegar objetos de um mb para outro a resposta é sim , eu já fiz de duas formas:
1º obtendo a sessão da aplicação
HttpSession session =
(HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
// add o atributo na sessão
session.setAttribute("seu atributo", seu objeto);
// recupera o atributo da sessão
session.getAttribute("seu atributo");
se sim, seria isso a maneira mais facil de fazer? seria a maneira corretade fazer?
não sei se são as mais fáceis ou as mais corretas, mas já pesquisei muito na net e achei muito pouco sobre isso, se alguém poder opinar sobre está questão seria bem vindo !
E
eurival
Primeiramente quero agradecer a atenção do Bravox pela resposta. Apos postar a mensagem andei procurando e encontrei mas uma forma tb olha o codigo abaixo:
public Principal getSessionBackingBean() {
Principal principal = new Principal();
Object object = FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get(“manageBeanEmpresa”);
// Isso só funciona se o meuSessionBackingBean for de Sessão if(object!=null){ManageBeanEmpresameuBean=(ManageBeanEmpresa)object;principal=meuBean.getEmpresa();}returnprincipal;}
Problema resolvido agora posso carregar todas as configuraçoes iniciais no mb manageBeanEmpresa e acessar de qualquer um outro. Mais uma vez agradeço a atençao do Bravox.