Artigo Java Magazine 56 - Integrando Struts2 com JasperReports
Saiba como combinar o Struts2 com o JasperReports para criar relatórios de maneira eficaz e inteligente para aplicações web.
Clique aqui para ler esse artigo em PDF.
Integrando Struts2 com JasperReports
Criando relatórios para web usando recursos MVC
Como combinar o Struts2 com o JasperReports para criar relatórios de maneira eficaz e inteligente para aplicações web
Uma das grandes necessidades do desenvolvimento web é a criação e disponibilização de relatórios através de uma forma produtiva e escalável. Baseado nessa necessidade, esse artigo mostra de forma prática como você poderá usar para aplicações web baseadas em Java os recursos do Struts2 e do JasperReports, duas grandes ferramentas open-source, que quando integradas, oferecem muita facilidade e eficácia na criação de aplicações web com relatórios.
Além das vantagens da arquitetura MVC (Model View Controller) que veremos mais adiante, um dos maiores ganhos que essa solução oferece é a possibilidade de criar relatórios sem acesso direto ao banco de dados, eliminando assim, o uso de SQL nos fontes dos relatórios. Essa responsabilidade é delegada para a camada de persistência, ou seja, fornecendo listas de objetos de algum tipo classe de domínio (POJOs) para que o relatório seja renderizado durante sua execução.
Quem é quem?
Este artigo presume alguma vivência tanto com desenvolvimento web usando algum framework MVC e também alguma experiência com criação de relatórios usando o iReport e JasperReports. Mas para nivelamento, vamos revisitar alguns conceitos. Começaremos pelo Struts2, que é um dos mais populares frameworks MVC para o desenvolvimento web, que após sua fusão com o projeto Webwork, ganhou ótimas melhorias nos recursos de controlador de fluxo de navegação, actions, validações, plugins, tags, templates, recursos AJAX, etc.
Já o JasperReports é um projeto open-source de singular sucesso, permitindo gerar relatórios em vários formatos; com agrupamentos, fórmulas, parâmetros, gráficos, sub-relatórios, crosstables, figuras, sub-datasets; várias origens de dados como: SQL, coleções, EJBs, arquivos XML; além de outras funcionalidades bem interessantes.
É importante lembrar que o JasperReports é uma API para renderizar esses relatórios, mas para ser realmente produtivo com o mesmo, será necessário usar alguma IDE específica para criação e alteração de relatórios. Neste caso, iremos usar o iReport, que é um projeto ligado ao próprio JasperReports e tem uma grande aceitação no mercado.
Veja na Figura 1 o funcionamento de uma aplicação combinando os componentes básicos do Struts2 com os componentes do JasperReports. Observe que o controlador do Struts irá interceptar uma requisição HTTP, tratar em qual classe Action será criado um objeto do tipo List com base em uma estrutura de JavaBean" [...] continue lendo...
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo