Artigo Java Magazine 48 - Tabelas na Web com DisplayTag
Esse artigo faz parte da revistaJava Magazine edição 48. Clique aqui para ler todos os artigos desta edição
Tabelas na Web com DisplayTag
Exibindo resultados extensos com aparência profissional
[lead]Veja como usar a DisplayTag para simplificar a manipulação e exibição de grandes volumes de dados em páginas JSP e incrementar as telas com recursos visuais avançados e internacionalização[/lead]
Neste artigo vamos explorar alguns dos principais recursos da taglib open source DisplayTag. As tags da DisplayTag oferecem ao desenvolvedor facilidades sofisticadas para a montagem e o gerenciamento de tabelas longas em páginas web. São suportados recursos como paginação, exportação de dados e internacionalização.
Antes de começar a usar a DisplayTag na prática, vejamos mais detalhes sobre os principais recursos da taglib:
Paginação – Imagine que na sua aplicação web você fez uma consulta ao banco de dados retornando centenas de registros e precisa apresentá-los numa página web. Como mostrar estas informações sem visualizar uma tabela enorme que demora muito para ser carregada no navegador? Uma solução clássica é a paginação de resultados: quebrar uma coleção de registros em várias páginas de tamanho limitado. A DisplayTag suporta diversas estratégias de paginação e oferece barras customizáveis para a navegação dos resultados.
Exportação de dados – Através do recurso de exportação, que é ativado alterando-se apenas um atributo, o usuário pode transformar a tabela exibida para vários formatos. A DisplayTag inclui filtros de exportação predefinidos para CSV (valores separados por vírgulas), Excel, XML e PDF simples.
Internacionalização (i18n) – Normalmente implementamos a internacionalização através de vários arquivos texto (chamados resources), um para cada idioma desejado. Estes arquivos são compostos de pares "chave=mensagem", sendo as chaves fixas e as mensagens customizadas para o idioma. A DisplayTag suporta a internacionalização dos cabeçalhos das tabelas e das barras de paginação, entre outros elementos.
Flexibilidade visual com Decorator – O design pattern Decorator, implementado pela DisplayTag, aumenta a flexibilidade do design, através de objetos que customizam ou adicionam dinamicamente comportamentos a outro objeto. Geralmente utilizamos este pattern quando precisamos visualizar uma informação de várias formas diferentes. Por exemplo, dada uma tabela qualquer, gostaríamos de apresentar formatos distintos para datas, números, valores monetários etc. sem precisar alterar a classe de negócio. Vamos ver mais na frente um exemplo onde aplicamos o Decorator.
As cinco tags fundamentais
A DisplayTag é composta pelas tags caption, column, footer, setProperty e table, todas com prefixo display. Na Tabela 1 apresentamos a função de cada uma dessas tags. Como o objetivo das tags é customizar tabelas HTML, desenvolvedores que já trabalharam com HTML e CSS acharão vários dos seus atributos bem familiares.