JSF trata de gerenciamento de sessão?

4 respostas
J

Ou é preciso um outro framework?

Até hoje tenho usado o bom e velho

<% 
      HttpSession sessao = request.getSession(true);
      String usuario = (String)sessao.getAttribute("usuario");
    %>

Porém, na minha tentativa de ingressar no mundo dos frameworks e padrões, minhas páginas agora são todas xhtml (primefaces), e as chamadas ao HttpSession ficaram impossíveis.

Quem puder me indicar um bom tutorial, agradeço.

P.S. Ainda estou aprendendo JSF + Primefaces, ainda não uso JPA, HIbernate, Spring, etc.

4 Respostas

rafaduka

Sim pode utilizar um escopo de sessão @ScopeSession

@SessionScoped @ManagedBean class Pet() { ... }

J

rafaduka, isso significa que cada usuário que fizer login no sistema, terá que possuir um bean associado a ele com essa anotação @ScopeSession?

rafaduka

vc quer recuperar o usuário logado, certo?

@SessionScoped
@ManagedBean
class Login() {
 String name;
 String pass;

 get & set

}

e para recuperar:

FacesContext context = FacesContext.getCurrentInstance(); 
		context.getExternalContext().getSessionMap().get("Login");

e faça um cast ao objeto correspondente.

rafaduka

Um exemplo do Cast:

private HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true); private LoginMb user = (LoginMb) session.getAttribute("loginMb");

Criado 2 de janeiro de 2012
Ultima resposta 2 de jan. de 2012
Respostas 4
Participantes 2