Galera estou tendo maior dificuldade para redirecionar minha pagina de maneira correta, estou usando phaselistener, meu metodo esta redirecinando para a pagina de login porem a URL nao esta mudando e junto com a tela de login fica uma outra pagina(minha tela de menu principal).
Estou querendo redirecionar para a tela de login e alterar tambem a URL para garantir que vai ficar aberta apenas a tela de login.
Sera que alguem pode me ajudar neste assunto, principalmente como mudar a URL, desde ja muito obrigado.
public class AuthorizationListener implements PhaseListener {
public void afterPhase(PhaseEvent event) {
FacesContext facesContext = event.getFacesContext();
String currentPage = facesContext.getViewRoot().getViewId();
UsuarioLoginController usuario = (UsuarioLoginController) ToolJsf.getBean("usuarioLogin");
if (usuario.getUsuario().isTransiente() && (!currentPage.contains("telasComponentes/usuarioLogin.jsp"))
&& (!currentPage.contains("telasComponentes/empresaLogin.jsp")) ) {
NavigationHandler nh = facesContext.getApplication().getNavigationHandler();
nh.handleNavigation(facesContext, null, "loginPage");
}
}
public void beforePhase(PhaseEvent event) {
}
public PhaseId getPhaseId() {
return PhaseId.RESTORE_VIEW;
}
}
/* loginPage forUserLogin.jsp<lifecycle>
<phase-listener>br.com.inloc.sessao.AuthorizationListener</phase-listener>
</lifecycle>
A minha tela forUserLogin.jsp esta assim:
Index