#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.
Estatísticas:
Visualizações:
4244
Favoritado:
7 vez(es)
Serviços:

Java Magazine 76
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Java Magazine 76
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Java Magazine 76
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!
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!



Artigo Java Magazine 76 - Desenvolvendo com JavaServer Faces

Artigo Java Magazine 73 - Desenvolvendo com JavaServer Faces – Parte 2

Artigo Java Magazine 72 - Desenvolvendo com JavaServer Faces – Parte 1

Palestra WebDays 2008: Explorando o Jboss Seam: A nova geração de aplicações web 2.0 [0h:49m:48s]

Palestra WebDays 2008: Turbinando o desenvolvimento com o Eclipse [49m:48s]

Artigo WebMobile 22 - Seam Framework: Simplificando o desenvolvimento Java web

[vídeo] Turbinando o desenvolvimento com o Eclipse

[vídeo] Explorando extras do Seam: Introdução ao Seam Remoto - Parte 9

[vídeo] Explorando extras do Seam: Introdução ao Seam Remoto - Parte 8

[vídeo] Explorando extras do Seam: Explorando o Captcha - Parte 7

[vídeo] Explorando extras do Seam: Configuração e envio de e-mails - Parte 6


Artigo Java Magazine 73 - Desenvolvendo com JavaServer Faces – Parte 2

Artigo Java Magazine 72 - Desenvolvendo com JavaServer Faces – Parte 1

Palestra WebDays 2008: Explorando o Jboss Seam: A nova geração de aplicações web 2.0 [0h:49m:48s]

Palestra WebDays 2008: Turbinando o desenvolvimento com o Eclipse [49m:48s]

Artigo WebMobile 22 - Seam Framework: Simplificando o desenvolvimento Java web

[vídeo] Turbinando o desenvolvimento com o Eclipse

[vídeo] Explorando extras do Seam: Introdução ao Seam Remoto - Parte 9

[vídeo] Explorando extras do Seam: Introdução ao Seam Remoto - Parte 8

[vídeo] Explorando extras do Seam: Explorando o Captcha - Parte 7

[vídeo] Explorando extras do Seam: Configuração e envio de e-mails - Parte 6


Introdução a JavaServer Faces

Introdução ao JBoss Seam

(tutorial) Aprenda a persistir dados em suas aplicações Java utilizando Hibernate

Aplicação Completa Utilizando Hibernate

Introdução a Design Patterns

Desvendando o JPA

Introdução ao ASP

Curso Completo MySQL

jQuery – A Biblioteca JavaScript para Webdesigners


Introdução ao JBoss Seam

(tutorial) Aprenda a persistir dados em suas aplicações Java utilizando Hibernate

Aplicação Completa Utilizando Hibernate

Introdução a Design Patterns

Desvendando o JPA

Introdução ao ASP

Curso Completo MySQL

jQuery – A Biblioteca JavaScript para Webdesigners



Configuração no cliente - WCF

Revista Engenharia de Software 28

Reuso de Software utilizando Padrões de Análise - Engenharia de Software 28

Refatoração para Padrões - Engenharia de Software 28

Auditoria de sistemas - Engenharia de Software 28

O Papel Evolutivo do Software - Engenharia de Software 28

Requisitos em SOA – Parte 1 - Engenharia de Software 28

Negociação de Contratos - Engenharia de Software 28

Há um colega chato em seu local de trabalho? - Engenharia de Software 28

Gerando o MD5 a ser impresso no cupom fiscal


Revista Engenharia de Software 28

Reuso de Software utilizando Padrões de Análise - Engenharia de Software 28

Refatoração para Padrões - Engenharia de Software 28

Auditoria de sistemas - Engenharia de Software 28

O Papel Evolutivo do Software - Engenharia de Software 28

Requisitos em SOA – Parte 1 - Engenharia de Software 28

Negociação de Contratos - Engenharia de Software 28

Há um colega chato em seu local de trabalho? - Engenharia de Software 28

Gerando o MD5 a ser impresso no cupom fiscal


Você está em:




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


