navegação jsf

2 respostas
J

galera

to apanhando da navegação do jsf. No caso to usando jsf 2.

Minha estrutura de paginas está assim:

WebContent
    - admin (package)
          - cliente.xhtml
          - usuario.xhtml
          - produtos.xhtml
    - login.xhtml
    - selecione.xhtml
    - principal.xhtml

Quando eu to na tela usuario e quero encerrar a sessao voltando o cliente para a tela de login (que está em um diretorio diferente)…o jsf não acha o login.xhtml e não me redireciona. Mas também não gera erro nenhum.

Oha meu metodo que valida e redireciona pra o login

public String isUsuarioLogado()
{
   if(!usuario.isLogado())
   {
      return "login";
   }
   else
   {
      return "principal";
    }

}

eu reparei que se eu redirecionar para uma pagina que esta no mesmo diretorio (admin)…o jsf consegue redirecionar certinho. Mas se tiver fora do diretorio, não funciona.

Alguem ae sabe resolver essa “bronquinha”?

valws galera

2 Respostas

dev.rafael

As regras de navegação implícitas do JSF2 usam os mesmos princípios das URLs. Ou seja, se a URL que o usuário está usando
para acessar o seu sistema naquele momento for algo como “/MinhaApp/admin/pagina.xhtml” e você retornar “login” o JSF vai
procurar por “login.xhtml” dentro do diretório “admin”. Assim, eu aconselho que use sempre uma “/” no começo da sua regra
de navegação pois isso indica ao JSF para buscar a página a partir do WebContent. Ou seja,…

return "/login";

…deve resolver o seu problema.

R

Acho que tambem daria pra usar redirect do jsf 2

return "/Page.xhtml?faces-redirect=true";
Criado 1 de setembro de 2010
Ultima resposta 1 de set. de 2010
Respostas 2
Participantes 3