Whats new? | Login | Parceiros
Cadastre-se | Atendimento | RSS
+ Java:
artigos   |   vídeos   |    cursos   |    mais

  #Este é um post fechado

Este post está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais sobre como abrir este post!



Artigo Java Magazine 76 - Desenvolvendo com JavaServer Faces

Abordagem dos principais recursos do Facelets, mostrando a configuração de um projeto JSF e o desenvolvimento de templates e Tag Resource Files.

Marcos Sousa
Marcos Sousa (falecomigo at marcossousa dot com,
www.marcossousa.com) é desenolvedor Java desde 2004 e já atuou em vários projetos voltados para diversas áreas como: mineração, comércio, educação e governos. A...

Ver space do autor


Estatísticas:
Visualizações:
4244
Favoritado:
 7 vez(es)

Serviços:






Desenvolvendo com JavaServer Faces
Crie templates, tag files e incremente sua aplicação JSF
Conheça os fundamentos do Facelets, uma tecnologia alternativa ao JSP para criação de views mais poderosas em aplicações JSF

Nos dois primeiros artigos da série, foram abordados os conceitos básicos de JSF e os passos para criação de componentes de interface gráfica. Na primeira parte, foi proposta a criação de um registro de clientes onde foram aplicados alguns dos principais fundamentos e componentes padrões do JSF. A segunda parte mostrou a criação de componentes úteis, para exibição das fotos dos produtos e tooltips customizados, permitindo uma maior valorização das informações presentes na guia de produtos da loja virtual.
Ao longo da abordagem até então, a tecnologia utilizada para construção das páginas foi a JavaServer Pages. O uso da JSP como tecnologia de visualização JSF possui algumas implicações como: o suporte precário à montagem da árvore de componentes, a falta de mecanismos para criação de templates e a falta de suporte para composição de componentes. O Facelets tem como foco a criação de templates, reutilização de código e facilidade de desenvolvimento através da implementação, a partir do zero, de uma tecnologia de interface gráfica para JSF de maior performance. Essas características auxiliam na redução da quantidade de código gasta para geração de interfaces gráficas comparadas com páginas JSP.
O presente artigo objetiva apresentar os conceitos básicos e os principais recursos do Facelets, que auxiliarão o leitor a incrementar suas aplicações JSF. Ao longo do artigo, será criado um template para a loja virtual de livros e serão configurados os componentes criados no artigo anterior para serem reconhecidos no contexto Facelets. Serão abordados também tópicos mais avançados como a criação de tag files e criação de funções EL.    
Conceitos Básicos
A JavaServer Pages era a tecnologia padrão usada pela comunidade para criar interfaces gráficas web em Java. A utilização da JSP como tecnologia de criação de páginas JSF possibilitou a adoção de ersos desenvolvedores. Porém, esta decisão expôs alguns problemas, como por exemplo, a falta de sincronismo entre o fluxo de execução JSP e o ciclo de vida dos componentes JSF. O processamento JSP ocorre do topo até o fim da página assim que a página é chamada. Deste modo, a execução do conteúdo JSF e conteúdo não JSF acontece em momentos distintos, conduzindo a problemas indesejados. A Listagem 1 ilustra um exemplo relacionado a esses problemas.

Listagem 1. Problema de renderização de conteúdo JSP.
1    <h:panelGroup>
2      <h:outputText value="Texto 1"/>
3      Texto 2
4    </h:panelGroup>

Neste código, há a mistura de componentes JSF com textos livres. Os textos livres também poderiam ser substituídos por tags HTML que o resultado seria semelhante (Figura 1). Analisando esta figura, por que “Texto 2” foi exibido antes do “Texto 1”? Como era de se esperar, o container JSP exibe “Texto 2” assim que ele é encontrado na página, porém, o componente <h:panelGroup> exibe os componentes filhos apenas quando a execução atinge o fim do corpo da tag, ou seja, ao chegar na linha 4. Como o “Texto 2” não é considerado um componente, ele não faz parte desta execução.

Texto 2
Texto 1
Figura 1. Exemplo de execução dentro do container JSP.
O Facelets é uma linguagem de template desenvolvida para a tecnologia JSF. Além de resolver problemas como o exibido acima, ele oferece mecanismos que favorecem a manipulação de componentes, nos quais a geração e a renderização destes componentes são realizadas de acordo com o ciclo de vida. A exemplo disso, as páginas são criadas, por padrão, usando o formato XHTML, permitindo montar a árvore de componentes de forma mais intuitiva, seguindo a abordagem de componentes proposta pelo Faces.
O Facelets possui uma implementação para reduzir as incompatibilidades entre JSTL e JSF associadas ao fluxo de execução das tags JSTL. Deste modo, essas tags podem ser intercaladas com tags JSF, facilitando a implementação de certas funcionalidades. Por exemplo, fazer a iteração dos elementos de uma lista sem a necessidade de usar um DataTable, ou mesmo controlar a exibição de determinados conteúdos que, em muitos casos, o uso da propriedade rendered, para controlar a exibição dos elementos na página, implica na complexidade do código.

JSTL: A JSTL (JavaServer Pages Standard Tag Library) são componentes web Java EE definidos pela JSR 52 (JSTL 1.0, 1.1 e 1.2) e pela JSR 267 (Web Services). A JSTL oferece componentes para tarefas comuns como iteração e condicionais, tags para documentos >">



ATENÇÃO! A EXIBIÇÃO DESTE ARTIGO FOI INTERROMPIDA.


  #Este é um post fechado

Este post está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais sobre como abrir este post!







Participe! Inclua um comentário
[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar ;-)



 


[Fechar]
Este post está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.

  Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!

Plano conveniência – Neste plano este post custa R$ 4,90 (Compre agora)
Esse plano permite que você compre somente um post, pagando por ele seu preço sem desconto.

Plano ocasional: Aqui este post custa: R$ 1,96 (assinante) ou R$ 2,45 (não-assinante)
Este plano é ideal para quem tem interesse em mais de um post. Você compra um mínimo de R$ 50,00 em créditos e ganha, em média, 50% de desconto no preço do post. Compre Créditos agora!

Assinatura de Créditos (Plano econômico) – Aqui este post custa R$ 1,03
Este plano é ideal para quem tem interesse em muitos posts. Com esse plano você compra R$ 180,00 em créditos e ganha, em média, 80% de desconto no preço do post. Assine este plano agora!

> Saiba mais sobre o Sistema de Créditos DevMedia
DevMedia Group   www.devmedia.com.br   |   www.javafree.org   |   www.mrbool.com
2010 - Todos os Direitos Reservados a DevMedia Group - (21) 3382-5038