Esse artigo faz parte da revista WebMobile edição 17. Clique aqui para ler todos os artigos desta edição

imagem.JPG

areast-language: EN-US; mso-no-proof: yes">Java Web

Construindo aplicações JavaServer Faces com Facelets

 

O JavaServer Faces é um framework web baseado no conceito de componentes. Com o advento desse framework, o desenvolvimento de aplicações web ficou mais simples. Basta colocar uma tag de um componente no código de sua página e associar propriedades dos seus componentes na página a propriedades de um ou mais beans, simplificando a interação entre código HTML e código Java.

Porém, há situações onde um conjunto de componentes JavaServer Faces pode ser agregado criando um novo componente, introduzindo um novo conjunto de funcionalidades. Além disso, você pode querer quebrar a estrutura de sua página em vários fragmentos, como também poder definir um template (que é um modelo de estrutura das páginas de sua aplicação).

Para resolver esses e outros problemas, foi desenvolvido o framework Facelets. Com o Facelets, é possível criar componentes que são composições de componentes JavaServer Faces, tal como definir templates para as páginas de sua aplicação.

Este artigo apresentará a construção de uma aplicação de cadastro de clientes e fornecedores que nos possibilitará entender um pouco sobre o funcionamento do framework Facelets.

O problema: Como reutilizar código das páginas em aplicações JSF?

Uma das maiores deficiências do JSF é a inexistência de um framework que possibilite o reuso de código das páginas, seja através da definição de templates ou a agregação de componentes.

Para exemplificar como o Facelets resolve esse problema, nós vamos criar uma pequena aplicação de cadastro de clientes e fornecedores. Cada página terá um menu à esquerda, um cabeçalho e rodapé comuns em toda a aplicação. Para tanto, será criado um template que irá definir a estrutura da página considerando o local onde será inserido o conteúdo do menu, o cabeçalho e o rodapé.

Configurando o ambiente

Para criarmos a aplicação precisamos ter em nosso ambiente os seguintes requisitos:

 

·         JDK 1.4 ou superior – Esta versão do JDK é requerida pelo Eclipse Europa para habilitar todas as funcionalidades do mesmo. O JDK pode ser encontrado no endereço www.java.sun.com.

·         Apache Maven – Nós vamos usar o Apache Maven para facilitar o processo de construção de nossa aplicação. Com ele, podemos definir quais bibliotecas serão necessárias em nossa aplicação. Ao iniciar o processo de compilação e geração da aplicação ele vai verificar a disponibilidade dessas bibliotecas e então vai baixá-las da internet, disponibilizando-as em uma pasta local em seu computador. A versão mais recente do Apache Maven pode ser encontrada no endereço http://maven.apache.org/download.html.

 

Após instalar o JDK e descompactar os arquivos binários do Maven para uma pasta de sua preferência, faça os seguintes ajustes na variável de ambiente abaixo:

 

PATH = $maven_home\bin;$jdk_home\bin

 

Onde as variáveis $jdk_home e $maven_home fazem referência aos locais onde o JDK e o Maven foram instalados respectivamente.

Criando a aplicação

Agora que temos o ambiente devidamente configurado, vamos partir para a criação da aplicação. Em primeiro lugar vamos criar a pasta onde o código fonte da aplicação estará localizado. Para tanto, crie a pasta c:\javaapps\cadastro. Dentro dessa pasta crie as pastas src, src\main, src\main\webapp, src\main\java e src\main\webapp\WEB-INF.

Com a estrutura de diretórios da aplicação criada, é preciso criar o arquivo pom.xml que configura o Maven para ser utilizado neste projeto. Este arquivo deverá ser criado na pasta c:\javaapps\cadastro, e é composto por uma série de tags que visam esta configuração. Seu conteúdo é bastante extenso e repetitivo, e por isso não será abordado neste artigo. No entanto, este arquivo estará disponível para download junto com os fontes do projeto no portal da revista WebMobile.

Com o pom.xml criado, nós temos boa parte da estrutura de nossa aplicação definida, faltando somente configurar o JSF e o Facelets para serem utilizados na aplicação web.

Em primeiro lugar vamos ajustar o web.xml que descreve as funcionalidades da aplicação no Tomcat. O conteúdo desse arquivo está descrito na Listagem 1, e estará disponível com os fontes da aplicação no portal da revista WebMobile.

 

Listagem 1. Configuração do Facelets no Tomcat (web.xml).

1.      < ?xml version="1.0"?>

2.      < web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"

3.               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

4.               xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

5.               < display-name>cadastro

6.               < context-param>

7.                         < param-name>javax.faces.DEFAULT_SUFFIX

8.                         < param-value>.xhtml

9.              

10.           < context-param>

11.                     < param-name>facelets.REFRESH_PERIOD

12.                     < param-value>2

13.          

14.           < context-param>

15.                    < param-name>facelets.LIBRARIES

...

Quer ler esse conteúdo completo? Tenha acesso completo