Olá desenvolvedores, neste tutorial veremos como implementar a navegação dinâmica em uma página JSF – JavaServer Faces. O JSF é um framework que incorpora características do padrão de arquitetura MVC – Model-View-Controller. Que se traduz em um modelo de interface gráfica orientado a componentes e baseado em eventos.
Assim, no tutorial “JSF: NAVEGAÇÃO IMPLÍCITA”, exemplificamos a navegação implícita, onde as regras de navegação poderão ser definidas na própria página, a partir de componentes JSF. Agora na navegação dinâmica poderemos implementar condições, isto é, regras de redirecionamento.
IMPLEMENTANDO A NAVEGAÇÃO DINÂMICA
Tendo estabelecido um padrão no arquivo web.xml. Que se trata de um arquivo que descreve as configurações e detalhes de implantação dos arquivos de configuração, bem como promove o mapeamento de URLs e Servlets.
Desse modo, entre as tags de boas-vindas, welcome-file-list, deixemos apenas a tag referente a página index.jsf.
<welcome-file>index.jsf</welcome-file>
Na raiz da pasta WebContent, crie um novo arquivo, “paginanavegada.xhtml”, que conterá apenas uma mensagem com o objetivo de nos orientar quanto a página corrente.
O atributo “action” sempre deve retornar algo. Na página “primeirapagina.xhtml”, o atributo de ação é o responsável por chamar o método addNome(), que retorna como valor “vazio”. Este retorno de “vazio” ou “nulo” faz com que a resposta a requisição seja exibida na mesma página onde a partir de onde a requisição é feita.
E assim acontece com a navegação dinâmica, a propriedade “action” receberá o retorno do ManagedBean para qual página deverá ser redirecionada.
No contexto de implementação da página “primeirapagina.xhtml”, se a quantidade de nomes adicionadas for maior que três, o botão “Adicionar” será desabilitado. Neste novo contexto, além de desabilitar o botão, implementaremos o redirecionamento para a página “paginanavegada.xhtml”.
EM POUCAS PALAVRAS
Neste tutorial você aprendeu a principal diferença entre a navegação implícita em que as regras de navegação são definidas na própria página. E a navegação dinâmica, que nos permite estabelecer regras para navegar de uma página para a outra.
São duas formas de implementar a navegação entre páginas que facilitam muito o trabalho do desenvolvedor. Bem como torna possível a implementação de rotinas complexas ao nos permitir impor regras.