2010-12-05 5 views
4

Je travaille sur une application Grails et j'ai besoin d'afficher des rapports et de permettre aux utilisateurs de les exporter dans les formats les plus courants (PDF, XML ...). Je ne veux pas incorporer la requête SQL dans la définition de rapport, la logique de rapport est intégrée dans les services Grails et la bibliothèque de rapports que je recherche devrait fonctionner sur un jeu de données (peut-être une liste de cartes) sans source de données réelle. J'ai utilisé les rapports Jasper et iReport pour mes tests et ils fonctionnent bien avec Grails pour la fonctionnalité d'exportation (PDF, XML, HTML). Mais j'ai difficile de les inclure dans mon modèle de page. Je voudrais avoir mon en-tête, pied de page, menu de navigation et filtre dans le rapport html.Bibliothèque de rapports Java à inclure dans une page Web

La seule solution qui me venait à l'esprit était d'utiliser iframe mais je n'aime pas tellement ça.

Can Jasper Signaler une erreur ma demande? Connaissez-vous une autre bibliothèque de rapports Java qui me permet d'inclure le rapport dans mon corps HTML?

Répondre

2

Vous pouvez utiliser le g:include tag pour inclure la réponse d'un contrôleur:

<g:include controller="myJasper" action="showReport" 
    params="[foo: 'bar', baz: 42]" /> 

Utilisation du Grails Jasper plugin, votre contrôleur contient alors le code comme ceci:

import org.codehaus.groovy.grails.plugins.jasper.JasperExportFormat; 
import org.codehaus.groovy.grails.plugins.jasper.JasperReportDef; 

class MyJasperController { 
    def jasperService 

    def showReport = { 
     def reportDef = new JasperReportDef(
      name: 'your_report.jasper', 
      parameters: params, 
      fileFormat: JasperExportFormat.HTML_FORMAT) 

     def report = jasperService.generateReport(reportDef) 
      .toByteArray().toString("UTF-8") 

     render report 
    } 
} 
+0

Merci. Cela pourrait marcher pour moi. Quoi qu'il en soit, je pense qu'il serait un peu difficile de styliser correctement le modèle de rapport Jasper pour l'adapter à mes styles d'applications web ... (et le tri des colonnes n'est pas disponible, ce qui est pénible) –

Questions connexes