Galera do Alura tudo em paz? Como estão os preparativos para o final de ano, muitos pontos de função? rs
Estou com um probleminha.
Eu criei um projeto JSF onde as páginas estão organizadas assim: admin/pages admin/main admin/template.
E meu web.xml está assim:
[code] <?xml version="1.0" encoding="UTF-8"?>
ararazul
/admin/index.xhtml
Faces Servlet javax.faces.webapp.FacesServlet 1 Faces Servlet .xhtml Faces Servlet .jsf Faces Servlet .faces Faces Servlet /faces/
[/code]
E criei uma classe para encapsular o redirecionamento de acordo com o caso de uso.
[code] package br.com.ararazul.util;
import java.io.IOException;
import javax.faces.context.FacesContext;
/* Classe responsável por abstrair as navegações do Sistema @author Leandro Gomes / public class NavigationUtil {
public static final String PAGESFOLDER = "admin"; public static final String INITIALPAGE = "index";
/* Método responsável por forçar o redirecionamento para uma determinada página no contexto do caso de uso em questão @author Hugo Sousa @param casoDeUso @param pagina @throws IOException / public static void redirecionar(String casoDeUso, String pagina) {
FacesContext facesContext = FacesContext.getCurrentInstance();
String contexto = facesContext.getExternalContext().getContextName(); try { if(pagina.equals(INITIALPAGE)) { facesContext.getExternalContext().redirect("/" + contexto); } else { facesContext.getExternalContext().redirect("/" + contexto + "/" + PAGESFOLDER + "/" + casoDeUso + "/" + pagina + ".xhtml"); } } catch (IOException e) { e.printStackTrace(); } }
}
[/code]
Só que há um loop no redirecionamento sempre que acesso a aplicação. Eu usei apenas uma chamada a um método de um controller para chamar a index no menu do sistema: #{megasenaController.index()}. O navegador apenas dá: Redirecionamento incorreto e no console não aparece nada.
Mas quando tiro essa chamada a página carrega normalmente.
Alguém poderia me ajudar, já tem uma semana que pesquiso e não acho resposta?