Artigo Java Magazine 61 - Criando templates de telas no JSF
Este artigo apresenta como instalar, configurar e usar o Facelets numa aplicação Web com JSF.
Clique aqui para ler esse artigo em PDF.
Criando templates de telas no JSF
Configurando e usando o Facelets numa aplicação Web com JSF
Veja também as mini-entrevistas com Ed Burns, spec lead da JSR-314 :JSF 2.0 e Jacob Hookom, criador do framework Facelets
De que se trata o artigo:
O Facelets é um framework para desenvolver template de telas em conjunto com o JavaServer Faces. Este artigo apresenta como instalar, configurar e usar o Facelets numa aplicação Web com JSF.
Para que serve:
Este framework será incorporado na especificação do JSF 2.0 com algumas modificações para se tornar o mecanismo padrão para descrever uma tela Web com JSF. Ele permitirá a definição de templates de telas para promover o reuso e facilitar a manutenção do layout e padrão visual das interfaces Web.
Em que situação o tema é útil:
Como o Facelets se tornará uma tecnologia padrão e mantida pelo JCP em conjunto com o JSF, será o mecanismo que substituirá o JSP no processo de definição de uma tela Web. O Facelets no JSF permitirá descrever a camada de apresentação de uma aplicação Web. Apesar da nova especificação JSF ainda suportar JSP, o Facelets será considerado o mecanismo preferencial que todo desenvolvedor deverá conhecer para conseguir usar os novos recursos do JSF 2.0.
Criando templates de telas no JSF – Resumo DevMan:
O Facelets é um framework para suporte ao desenvolvimento de telas na Web com o JavaServer Faces (JSF), assim como o Tiles é para o Struts e os Tag Files são para o JSP. Esta tecnologia será incorporada à especificação JSF 2.0 para substituir o JSP como mecanismo padrão para gerar a camada view de uma aplicação Web. Além disso, o Facelets permitirá a definição de templates de telas e a implementação de novos componentes visuais sem a necessidade de escrever códigos Java.
Introdução
O Facelets é uma tecnologia de código aberto e uso livre, sob a licença CDDL 1.0, que estabelece uma linguagem de templates para suportar a criação da árvore de componentes das telas JSF. Esta tecnologia permite o reuso de padrões de telas e a composição de componentes JSF para a formação de novos componentes.
JavaServer Faces (JSF) é uma tecnologia padronizada e mantida pelo Java Community Process (JCP) para o desenvolvimento de aplicações que permite o uso de um modelo de componentes para definição e renderização de uma tela de sistema na Web. Como o JSF permite o desenvolvimento baseado no padrão de projeto MVC, o Facelets é a parte 'View' deste padrão a ser incorporada na especificação para facilitar o desenvolvimento de telas Web com JSF. Isto tornará o Facelets o mecanismo padrão para desenvolvimento de aplicações Web e não mais JSP, que continuará a ser uma alternativa possível, mas não preferencial. Veja a entrevista com Ed Burns, líder da especificação do JSF 2.0 no JCP, no quadro anexo com comentários sobre como o Facelets influenciará na nova especificação.
Neste artigo, faremos uma “introdução completa” ao Facelets: discutindo tecnicamente seus recursos, construindo uma aplicação simples e mostrando como utilizar a tecnologia nos principais IDEs.
O que são templates
Durante o desenvolvimento de uma aplicação web com diversas telas, percebe-se que várias destas têm uma estrutura semelhante. Para promover o reuso desta estrutura comum e facilitar a futura manutenção do padrão visual deste sistema, são utilizados um ou mais modelos de páginas (templates). Um template define um desenho padrão para as telas e áreas substituíveis para a troca de conteúdo durante a renderização da interface para o usuário.
Existem diversas maneiras de realizar a definição de templates e a composição das diversas telas do sistema com estes templates.
Templates em aplicações Web tradicionais: JSP/Servlets
Em aplicações Web tradicionais este problema é resolvido criando uma página JSP que inclui outras páginas JSP que representam cada parte que compõe a página, aumentando o reuso e facilitando a manutenção das páginas.
Templates em aplicações Struts
Em aplicações Struts, este problema foi resolvido muito eficientemente com o framework Tiles, criado como um plugin para o Struts.
Templates em aplicações JSF
Ao tentar aplicar as lições aprendidas no desenvolvimento de aplicações Web com JSP/Servlets e Struts à JSF, alguns desafios foram encontrados:
·Inclusão de páginas dificultada devido ao Content Interweaving Problem, que causava o embaralhamento dos componentes da página apresentada pelo browser quando as páginas incluídas utilizavam componentes JSF aninhados em elementos HTML. Veja o artigo “Improving JSF by dumping JSP” de Hans Bergsten;
·Incompatibilidade de utilização do framework Tiles em aplicações baseadas em MyFaces e JSF RI, tornando praticamente inviável sua utilização com a implementação de referência JSF;
·Dificuldade na criação de componentes visuais compostos por outros componentes visuais.
Foi neste cenário que o framework Facelets nasceu. Um mecanismo de template baseado em XML, compatível com qualquer implementação de JSF (criado especificamente para JSF), permitindo mesclar HTML e JSF indiscriminadamente. Diferentemente das páginas JSP que foram inventadas muito antes.
O desenvolvedor Jacob Hookom criou um projeto open source e o batizou de Facelets. Este projeto tem a intenção de resolver as limitações citadas e prover uma tecnologia alternativa ao JSP, atendendo às necessidades especificas do JSF. Veja no quadro anexo uma entrevista com este desenvolvedor que nos conta qual foi a sua principal motivação ao criar o Facelets.
Instalando o Facelets numa aplicação Web
O download do Facelets pode ser realizado a partir da página do projeto, hospedada no site java.net com a seguinte URL: https://facelets.dev.java.net/.
Um arquivo zip com uma versão estável pode ser obtido a partir da página de download. Este arquivo conterá o código fonte, a documentação em formato Javadoc da API, uma documentação texto para o desenvolvedor, aplicações Web de exemplo e os JARs necessários para usar o Facelets.
Após o download, será necessário criar uma aplicação Web e incorporar os JARs necessários para utilizá-lo. O Facelets deve ser usado numa aplicação com suporte ao JSF 1.1 ou 1.2. Esta aplicação deve ter instalado uma implementação de JSF como, por exemplo, o JSF-RI ou o MyFaces.
Apresentamos neste artigo um passo a passo para criar uma aplicação JSF com Facelets no Eclipse ou NetBeans utilizando JSF 1.2. Para isso, o arquivo jsf-facelets.jar" [...] continue lendo...
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo