De que se trata o artigo:

Da utilização do framework PrimeFaces 2.2, com o objetivo de mostrar alguns componentes úteis para criação de RIAs. Além disso, este artigo mostra como trabalhar com a aplicação de temas oferecidos pelo PrimeFaces.


Para que serve:

Para qualquer equipe ou desenvolvedor que queira trabalhar com a criação de interfaces ricas de forma simplificada e eficiente. O uso dos componentes “Ajaxificados” oferecidos pelo PrimeFaces auxilia nesta tarefa.

Em que situação o tema útil:

O PrimeFaces é um framework baseado no padrão JavaServer Faces muito útil para auxiliar o desenvolvedor na criação de RIAs, pois ele facilita o uso de AJAX e componentes nas páginas de uma aplicação web.

Resumo DevMan:

Existem diversos frameworks baseados na tecnologia JavaServer Faces que se destinam a tornar mais simples o uso de AJAX e componentes em aplicações web. Este é o caso do PrimeFaces. Neste artigo veremos como o desenvolvedor pode criar Rich Internet Applications com os componentes “Ajaxificados” deste framework.

Contar com um modelo bem implementado, livre de bugs e que atenda de maneira eficiente às regras de negócio de um determinado domínio é muito importante para o sucesso de uma aplicação. Da mesma forma, contar com uma camada de visão que apresente bem o modelo é fundamental para uma boa aceitação do usuário final. E para garantir que a camada de visão de uma aplicação cumpra bem o seu papel, podemos fazer uso dos recursos oferecidos pela tecnologia JSF.

O padrão JavaServer Faces (JSF) utiliza o conceito de componentes para a criação de interfaces de sistemas web. As taglibs oferecidas pelo JSF encapsulam o uso de tags HTML, permitindo ao desenvolvedor trabalhar em um nível mais alto de abstração. Desta forma, a criação de elementos nas páginas de uma aplicação web torna-se mais fácil. Por exemplo, a tag <h:panelGrid> permite a criação de uma tabela e encapsula toda a mecânica do uso das tags HTML <table>, <tr> e <td>, famosas conhecidas de qualquer desenvolvedor de aplicações web.

Além deste, existem outros componentes que encapsulam comportamentos mais complexos, como por exemplo, um <h:dataTable>. Sua função é permitir a criação de tabelas dinâmicas que exibem o conteúdo de uma coleção de objetos.

O JSF também possui uma poderosa API que encapsula o uso de AJAX nas páginas de uma aplicação. Através da tag <f:ajax>, o desenvolvedor pode fazer com que os componentes passem a utilizar chamadas assíncronas na realização de requisições ao servidor.

Seguindo esta filosofia de componentes, surgiram frameworks que buscam enriquecer ainda mais o uso do JSF. Estes frameworks oferecem seus próprios componentes baseados na API padrão do JSF, além de facilitar a adoção de AJAX nas páginas de uma aplicação web. É neste contexto que surge o PrimeFaces.

O PrimeFaces é um framework da Prime Teknoloji (empresa da Turquia) que oferece um conjunto de componentes ricos para o JavaServer Faces. Seus componentes foram construídos para trabalhar com AJAX por “default”, isto é, não é necessário nenhum esforço extra por parte do desenvolvedor para realização de chamadas assíncronas ao servidor. Além disso, o PrimeFaces dá suporte à criação de funcionalidades que fazem uso de Ajax Push e permite a aplicação de temas (skins) com o objetivo de mudar a aparência dos componentes de forma simples.

Comet ou Ajax Push é um mecanismo que permite ao servidor web enviar dados para um browser cliente sem que o cliente faça a requisição explicitamente. Ajax Push não faz parte do escopo deste artigo, porém veremos, mais adiante, como aplicar temas em sistemas que empregam o framework.

Neste artigo utilizaremos o PrimeFaces em sua versão 2.2 e veremos como trabalhar com alguns dos componentes oferecidos por ele para a criação de aplicações RIA. Esta versão do framework trouxe algumas melhorias em relação à versão anterior (2.1), como por exemplo:

• Diversos bug fixes, manutenções e melhorias;

• Reimplementação dos componentes menu, menubar, menuButton e contextMenu;

• Tamanho reduzido (1.6 MB, contra 2 MB da versão anterior) mantendo sua estrutura de apenas um JAR, sem dependências e configurações extras;

• Melhor integração com temas, que passaram a contar com uma versão em formato JAR;

• Novos componentes inputText e inputTextArea;

• Suporte a Portlet.

Além do PrimeFaces, existem outros frameworks que seguem uma linha parecida, tais como o RichFaces (JBoss) e o IceFaces (ICEsoft). No fim deste artigo você encontrará os links dos sites oficiais destas ferramentas para mais informações. No entanto, nosso objetivo é descobrir os recursos oferecidos pelo PrimeFaces, e é isto que faremos a partir de agora.

Utilizando componentes do PrimeFaces

Para trabalharmos com os componentes oferecidos pelo PrimeFaces em nossas aplicações é preciso instalar o framework. Para isso, é necessário apenas realizar o download do arquivo primefaces-2.2.jar no site do framework (veja o endereço em Links) e adicioná-lo ao classpath de uma aplicação web que já tenha o JSF 2.0 instalado.

Feito isto, podemos trabalhar com a taglib do PrimeFaces em nossas páginas. Como o JSP é uma ferramenta obsoleta (deprecated) para o padrão JSF 2.0, o PrimeFaces não dá suporte a esta tecnologia quando estamos trabalhando em cima desta versão. Sendo assim, o ideal é utilizarmos Facelets ao trabalharmos com estes frameworks, pois dessa forma podemos aproveitar o potencial máximo de suas funcionalidades. A Listagem 1 mostra um exemplo de página em branco pronta para trabalhar com o PrimeFaces 2.2. Aqui é importante observarmos o trecho xmlns:p=http://primefaces.prime.com.tr/ui, pois é ele o responsável por importar a taglib para nossa página. Além disso, ele define o prefixo “p” para utilização dos componentes. Assim, podemos, por exemplo, definir um <p:separator/> para criar uma linha divisória parecida com um <hr/> da linguagem HTML.

Agora que sabemos como instalar o framework em nossas aplicações e permitir seu uso em nossas páginas, podemos finalmente ver alguns componentes em ação. O primeiro componente a ser apresentado é o que permite o upload de arquivos para o servidor.

...
Quer ler esse conteúdo completo? Tenha acesso completo