Neste artigo você conhece os recursos para a criação de listagens com uma interface rica utilizando o PrimeFaces e Java. Confira!
ArtigosJavaExplorando o componente DataTable do PrimeFaces
Por que eu devo ler este artigo:Este artigo é útil para conhecer os diversos recursos do componente DataTable do PrimeFaces, como a criação de filtros, ordenação, cabeçalhos e rodapés. O PrimeFaces é um dos principais frameworks para a construção de interfaces gráficas para o JavaServer Faces (JSF). Isso porque ele disponibiliza uma grande quantidade de componentes para construir diversos tipos de telas, como formulários, listagens, gráficos e mapas. Entre esses componentes, o DataTable é um dos mais utilizados, pois a maioria das aplicações necessita de tabelas para, por exemplo, exibir a grade de um curso em um sistema de controle acadêmico, listar os alunos, disciplinas e professores. Autores: Eduardo Felipe Zambom e Luiz Henrique Zambom Santana
O JavaServer Faces é a principal especificação para o
desenvolvimento de aplicações web na plataforma Java. Com o objetivo de
facilitar a implementação de sistemas para a internet com interfaces baseadas
em componentes, sua versão 1.0 foi lançada em 2004, substituindo os frameworks
baseados em ações, principalmente o Struts, que eram os mais utilizados na
época. Atualmente, a especificação está na versão 2.2, lançada em 2013, e
existem diversas distribuições importantes, como o Mojarra, implementação de
referência, e o MyFaces, criado pela Apache.
Apesar de as interfaces construídas com JSF serem baseadas
em componentes, as implementações dessa spec incluem apenas os componentes
básicos do HTML, como campos de formulários, botões e links. Devido a isso,
foram criados diversos projetos que disponibilizam uma grande variedade de
componentes para a construção de interfaces com o usuário, como o RichFaces,
ICEfaces e PrimeFaces. Nos últimos anos, no entanto, o PrimeFaces dominou o
mercado ao se tornar o mais completo e fácil de utilizar. A Figura 1 mostra a tela do Google Trends
que compara a evolução das buscas por essas três bibliotecas. Nela é possível
observar o crescimento do PrimeFaces em relação aos principais concorrentes.
Figura 1. Interesse
dos desenvolvedores pelos principais frameworks JSF.
Esse crescimento pode ser justificado, entre outros motivos, pela evolução
do framework desde a sua primeira versão, lançada em 2009. Na versão 5.2.1,
o PrimeFaces disponibiliza mais de 100 componentes de interface para diversas
funcionalidades, a saber: campos de formulários, listagens, galerias de
imagens, captchas, dashboards e gráficos. Entre eles, um dos mais importantes e
empregados é o DataTable, que possibilita a criação de tabelas de objetos e que
disponibiliza uma grande quantidade de recursos; desde os mais simples, como
ordenação e filtragem, até os mais avançados, como lazy load e drag and drop.
Com base nisso, este artigo demonstrará a utilização do
componente DataTable e diversas opções que ele disponibiliza. Para isso, será
criada uma pequena aplicação para a listagem de alunos, e a partir disso serão
desenvolvidas diversas versões da mesma listagem para demonstrar e explicar os
recursos desse componente.
Para a implementação de uma aplicação com o PrimeFaces é
necessário configurar o projeto, adicionando as bibliotecas que serão utilizadas
e as propriedades do JSF nos arquivos de configuração. Em nosso exemplo, para a
gestão das dependências será empregado o Apache Maven, como mostra a Listagem 1, onde é apresentado o arquivo
pom.xml com as dependências do
PrimeFaces 5.1 e do JSF 2.2.
Além dessas dependências, ainda é necessário adicionar o
framework POI, que manipula planilhas Excel, e o iText, para a geração de
arquivos PDF. Eles são necessários porque em um dos exemplos será criado um DataTable
que permite a exportação dos dados da tabela para arquivos XLS e PDF.
Ademais, o projeto apresentado neste artigo foi desenvolvido
com a IDE Eclipse e o servidor web Apache Tomcat 8, no entanto, qualquer IDE
que suporte o Maven e qualquer servidor web ou de aplicação podem ser adotados.
Listagem 1.
Configuração das dependências do projeto com o Maven.
Fim do trecho gratuito • continue abaixo
CONTEÚDO EXCLUSIVO
Desbloqueie toda a DevMedia
+2000 artigos e vídeos
+40 trilhas sobre Front-end, Back-end, IA e muito mais