DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


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

Conheça os passos para criar componentes JSF






Desenvolvendo com JavaServer Faces – Parte 2
Conheça os passos para criar componentes JSF
Entenda os fundamentos necessários e aprenda na prática a criar seus próprios componentes JSF

De que se trata o artigo:
Apresentação dos passos básicos necessários para a criação de componentes JSF. A possibilidade de criar componentes de interface gráfica personalizados é, sem dúvida, uma das principais qualidades do JavaServer Faces. Ao longo do artigo, é abordada, passo-a-passo, a criação de dois componentes, sendo uma caixa de sugestão e um componente de imagem que especializa o componente padrão permitindo a visualização de imagens a partir de um array de bytes, ideal para a exibição de imagens salvas em banco de dados.
Para que serve:
Este artigo destina-se a desenvolvedores interessados em conhecer o processo de criação de componentes de interface gráfica personalizados para aplicações JSF.
Em que situação o tema é útil:
O conteúdo deste artigo é útil para guiar o leitor em cenários pelos quais os componentes JSF padrões não atendem as necessidades da aplicação que exigem a criação de novos componentes.
Desenvolvendo com JavaServer Faces – Parte 2:
O JavaServer Faces é um framework web baseado em componentes de interface gráfica que possui todo um mecanismo que possibilita a criação de novos componentes. O desenvolvedor tem como opção criar um novo componente ou especializar um já existente.
A criação de um componente envolve quatro atividades básicas: criar o componente, criar o renderer, criar uma classe tag para integração com a JSP e registrar a tag no TLD. Inicialmente, parece ser um pouco trabalhoso criar um componente, mas a possibilidade de reutilização do código e ganhos de produtividade compensa o esforço gasto no desenvolvimento do mesmo.
Há, na comunidade, uma variedade considerável de componentes disponíveis, a exemplo, temos o Apache Tomahawk, JBoss RichFaces e o ICEFaces. Ao longo de um projeto, a necessidade de criação de novos componentes é, de certo modo, baixa, quando se utiliza estas bibliotecas.














No primeiro artigo da série, foram abordados os conceitos básicos do JavaServer Faces: ciclo de vida, conversores, validadores. Foi também proposta a criação de uma loja virtual onde foram aplicados alguns dos principais fundamentos e componentes padrões do JSF. Na ocasião, foi criada a página para registro dos clientes para a loja virtual. Porém, foi possível notar que os componentes padrões disponíveis atendem apenas a problemas muito básicos. Neste contexto, o desenvolvedor possui duas opções: utilizar componentes de terceiros, ou criar seus próprios componentes.
O JavaServer Faces é um framework que auxilia na criação de interfaces de usuário baseadas em componentes. O uso desses componentes ajuda a simplificar o desenvolvimento, uma vez que abstrai toda a complexidade do desenvolvedor, possibilitando a reutilização em diversas partes do projeto e até mesmo a reutilização dos mesmos em vários projetos. A implementação padrão de JSF oferece apenas componentes básicos para criação de formulários e componentes primitivos para interação de dados e formatação de layout.
Criar um componente JSF não é uma tarefa muito fácil. Mas, apesar da complexidade, há diversos artigos e sites na internet que abordam este assunto; a exemplo deles pode-se destacar um tópico dedicado a este item.
O presente artigo objetiva mostrar os fundamentos necessários para a criação de componentes Faces. Os componentes aqui criados auxiliarão na criação do carrinho de compras para a aplicação de LivrosOnline iniciado no artigo anterior. Será criado um componente para exibição de imagens salvas no banco de dados e um outro para exibir dicas de contexto (tooltips) personalizados com suporte a formatação HTML do conteúdo. Mas antes de criar o primeiro, iniciaremos conhecendo alguns conceitos.
Primeiros passos?
Criar componentes JSF não é uma tarefa complicada, porém, requer do desenvolvedor um conhecimento básico tanto da estrutura do Faces quanto da criação de custom tags em JSP. Essa tarefa pode ser simplificada ainda mais se o componente a ser criado tiver comportamento extra aos componentes padrões já existentes.
Assim como foi dito na Parte 1 do artigo, a implementação de componentes é muito similar ao desenvolvimento de componentes Swing. Componentes JSF possuem eventos e propriedades assim como os componentes Swing. Possuem, também, o suporte à vinculação de componentes, ou seja, um componente que gerar uma linha de uma tabela precisa estar inserido dentro do corpo de uma tabela.
Basicamente, um componente centraliza duas funcionalidades: codificação e decodificação de dados. Neste contexto, a codificação é o processo destinado à conversão de determinados dados em artefatos HTML para o qual o componente é proposto. Por exemplo: gerar o código HTML correspondente a uma coluna de uma tabela ou a uma caixa de texto. Já a decodificação se propõe a converter os parâmetros da requisição para valores significativos ao contexto do componente. A Figura 1 mostra a codificação e decodificação de um componente em relação ao ciclo de vida JSF. A codificação ocorre durante a fase Apply Request Values e a decodificação do componente ocorre durante a última fase, denominada Render.
"


ATENÇÃO! A exibição deste artigo foi interrompida.


  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    4 COMENTÁRIOS

[Fechar]

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



Erivando S. Ramos
Acho que entre a pagina 51 e 52 existe erro pois o texto não segue uma sequencia.
podem verificar?
[há +1 ano] - Responder

 

Devmedia - Equipe De Moderação
Erivaldo,
obrigado pelo aviso. trecho removido.
[há +1 ano] - Responder
 

Fabio Uchoa
Onde posso encontrar o código fonte deste artigo? Pois os passos descritos não foram suficientes para fazer funcionar o componente
[há +1 mês] - Responder

 

Wesley Yamazack
Olá Fabio, para baixar o código fonte basta você ir no post da revista, o mesmo é : http://www.devmedia.com.br/revista-java-magazine-73/14763

No topo da página você encontra um link "código-fonte".

Um abraço
[há +1 mês] - Responder
 



Publicidade
Autor
Marcos Sousa

É desenvolvedor Java desde 2004 e já atuou em vários projetos voltados para diversas áreas como: mineração, comércio, educação e governos. Atualmente, é líder de desenvolvimento na Squadra Tecnologia, atuando em diversos projetos voltados para vertical de governo e evangelizando o uso de ferramentas...


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03