Top Posts

Série DB2 IBM:JEE + DB2

Continue lendo

Navegação Implicita JSF 2.x

Posted by camilolopes | Posted in JSF | Posted on 10-01-2013

0

Olá pessoal,

Hoje veremos um recurso legal que  temos no JSF 2.x, apesar da versão 2.0 ter sido lançada há um bom tempo já, eu ainda brincava com a versão antiga 1.2. Apesar de ter acompanhado os updates da versão mais recente, porém não tinha colocado nada em prática do no dia-dia. E algo que curtir bastante foi esse tal de “nagevação implícita” e não é que o trem é bão e produtivo? Vamos ver…

Lets GO…

Starting

A navegação implícita é um recurso novo que temos no JSF que nos ajuda a não ter que fazer declarações no face-config.xml. Na verdade no JSF 2.0 não é requerido ter um face-config.xml, mas há situações  que é preciso ter, mas não entraremos nesse contexto. A pergunta é como a navegação implícita pode nos ajudar?

Ela pode nos ajudar quando precisamos navegar entre as páginas e que não é requerido validação. Na versão 1.2 tinhamos que passar isso no face-config.xml.  Com navegação implícita não precisamos fazer as declarações de <navigation-rule> <navigation-case>, a única coisa que é requerida é que o nome do arquivo seja igual ao que passamos para o action de um componente JSF.

<h:commandLink  value=”/pages/greeting” action=”/pages/greeting” />

<h:commandLink value=”contato” action=”contato”/>

Observe que podemos passar arquivos dentro de diretórios ou na raiz que o JSF vai entender sem problemas.

E o problema?

– É que você não pode ter dois arquivos  com o mesmo nome no mesmo local (obvio);

– o nome do arquivo não pode ser alterado, caso seja terá que alterar todos os componentes que usam a navegação implícita com aquele arquivo, na versão com face-config.xml, há uma vantagem você precisa apenas atualizar o face-config.xml.

Quando usar?

Não há receita de bolo em dizer que no caso X deve sempre usar navegação implícita ou não. A questão é saber se o contexto que você tem, o recurso de navegação implícita agrega valor ou não.

Exemplo

Veja um exemplo simples que eu fiz, para criar o JSF Project estou usando o plugin Jboss Tools,caso não tenha veja como instalar  no final que está no final do post.

Crie um projeto JSF Project

File >> New >> JSF Project

Crie dois arquivos XHTML: contato.xhtml e navimplicit.xhtml e deixe dentro de WebContent

Abra o arquivo navimplicit.xhtml  e codifique o código a seguir:

<h:body>

<h:form>

<h:outputText value=“Usando Navegação Implicita JSF 2.0”/> <br/>

<h:commandLink  value=“/pages/greeting” action=/pages/greeting /><br/>

<h:commandLink value=“contato” action=contato/>

</h:form>

</h:body>

Não há nada de especial no código, exceto o conteúdo para o atributo action, o qual passamos  a página ou o caminho onde está a página que desejamos abrir. Observe que não  informamos o formato do arquivo,  não é necessário informar.

A diferença entre os links é que no primeiro usamos a navegação implícita com um arquivo que está no diretório, enquanto no segundo, estamos pegando um arquivo que está na raiz do WebContent.

Executando

Para executar é bem simples, basta clicar com o botão direito e escolher a opção Run As >> Run on Server . é necessário ter um servidor de aplicação como tomcat, jetty etc. Para o exemplo estou usando o TomCat 7.0.

Acessando

Após ter feito o deploy, vamos testar o recurso.  Então digite no browser:

http://localhost:8080/ExJSF20NavImplicit/navimplicit.jsf

Observe que no final adicionamos a página que tem os links com o recurso de navegação implícita. A sua página deve ter o conteúdo conforme a imagem a seguir:

Clique em um dos links e terá o resultado conforme a imagem a seguir:

E assim temos o resultado sem precisar configura o face-config.xml.

Abraços, vou ficando por aqui e espero que tenham gostado do post.

See ya!!!

Related Posts with Thumbnails

Write a comment