Olá desenvolvedores, hoje falaremos sobre a navegação explícita em projetos desenvolvidos com o JSF – JavaServer Faces. No tutorial “JSF: NAVEGAÇÃO IMPLÍCITA”, falamos sobre a navegação implícita, aquela onde as regras de navegação podem ser implementadas na própria página.
No que diz respeito a navegação explícita, trata-se de um tipo de navegação que é configurada dentro do arquivo de configuração faces-config.xml. Em “JSF: ARQUIVO FACESCONFIG.XML”, vimos que o arquivo de configuração faces-config.xml nos permite além da configuração de rotinas avançadas, cuidar da navegação entre páginas. A esta navegação é o que chamamos de “navegação explícita”.
IMPLEMENTANDO A NAVEGAÇÃO EXPLÍCITA
O primeiro passo é a criar uma página xhtml na raiz da pasta WebContent, qual chamaremos de “navegacaoexplicita.xhtml”. Dentro da página, utilizando a tag de título <h1>, imprimiremos uma mensagem, algo como, “Olá, esta é uma página de navegação explícita”, apenas para nos orientar quanto ao lugar em que estamos.
No arquivo faces-config, configuraremos a navegação da página dentro do par de tags “<navigation-rule>”. Desse modo será necessário, por meio da tag “<from-view-id>” informar a página de origem. A página de destino é informada dentro do par de taga que implementa a condição ou regra de navegação, a “<navigation-case>”. Assim, se alguma ação de outcome (resultado) for realizada, ocorrerá então o redirecionamento para a página “navegacaoexplicita”, que aqui receberá a extensão .jsf.
Na página index.jsf implementaremos mais um botão, o “Navegação Explícita” cuja ação (action) receberá o valor “explicita” que vem da tag <from-outcome>. Pronto, é o que precisamos para que a navegação explícita esteja implementada e funcional.
EM POUCAS PALAVRAS
Por ser uma navegação mais “engessada”, é pouco utilizada, existem, outras formas, que além de fazerem mais sentido, são até mesmo mais intuitivas. Entretanto, é importante que você conheça todas as nuances do framework. Como já mencionado, é preciso conhecer as regras do jogo, para então saber o que descartar e o que pode ser utilizado em seus projetos.