Je suis nouveau à JasperReports
et ne sais pas comment appeler le fichier jasper du servlet. Mon rapport contient le camembert.JasperReports: Rapport d'appel du servlet
6
A
Répondre
1
Voici un rapport factice créé dans un fichier Servlet.
C'est la même chose que dans une classe Java normale. Assurez-vous que les importations de vos classes de rapports jasper sont en haut du fichier.
L'exemple ci-dessous génère un rapport à partir d'une source de données XML.
public class JasperServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
try {
String reportFile = "myJasperReport.jrxml";
File outputFile = new File("Report.pdf");
HashMap hm = new HashMap();
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory
.newDocumentBuilder();
Document document = documentBuilder.parse(new File("myXml.xml"));
// Compile the report
JasperReport report = JasperCompileManager
.compileReport(reportFile);
JRXmlDataSource xml = new JRXmlDataSource(document, "/xml/root");
// Fill the report
JasperPrint print = JasperFillManager.fillReport(report, hm, xml);
// Create an Exporter
JRExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.OUTPUT_FILE, outputFile);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
// Export the file
exporter.exportReport();
} catch (Exception e) {
e.printStackTrace();
}
}
}
5
Vous pouvez préparer le fichier Jasper et le diffuser vers le client.
bytes[] byteStream = JasperRunManager.runReportToPdf("myJasperReport.jasper",paramMap,databaseConn);
OutputStream outStream = servletResponse.getOutputStream();
response.setHeader("Content-Disposition","inline, filename=myReport.pdf");
response.setContentType("application/pdf");
response.setContentLength(byteStream.length);
outStream.write(bytes,0,bytes.length);
3
Une façon complète le faire à partir du servlet serait:
public void myServletMethod(HttpServletRequest request, HttpServletResponse response) throws IOException{
JasperReport jasperReport = null;
JasperDesign jasperDesign = null;
Map parameters = new HashMap();
String path = getServletContext().getRealPath("/WEB-INF/");
jasperDesign = JRXmlLoader.load(path+"/relative/path/to/MyReport.jrxml");
jasperReport = JasperCompileManager.compileReport(jasperDesign);
byte[] byteStream = JasperRunManager.runReportToPdf(jasperReport, parameters, **new DataSourceOfYourPreference**);
OutputStream outStream = response.getOutputStream();
response.setHeader("Content-Disposition","inline, filename=myReport.pdf");
response.setContentType("application/pdf");
response.setContentLength(byteStream.length);
outStream.write(byteStream,0,byteStream.length);
}
Questions connexes
- 1. JasperReports: sous-rapport avec une orientation différente
- 2. expression du groupe dans JasperReports
- 3. Jasperreports - Masquer le champ dupliqué dans le rapport
- 4. accélérer jasperreports
- 5. JasperReports: comment afficher le rapport dans la page JSP?
- 6. Caractère Unicode non affiché dans le rapport de JasperReports
- 7. JasperReports: comment appeler le rapport en jsp page
- 8. Sous-rapports dans un sous-rapport (IReport-JasperReports)
- 9. JasperReports JRBeanCollectionDataSource toujours confus
- 10. comprendre JasperReports et JRBeanCollectionDataSource
- 11. JasperReports peut être un bon remplacement pour un framework de rapport web basé sur CGI
- 12. Méthode statique du servlet
- 13. Cadre Web avec intégration de JasperReports?
- 14. JavaBeans et JasperReports
- 15. compiler paresseusement JasperReports .jrxml à .jasper
- 16. Portée du contexte de servlet par rapport à la variable globale
- 17. JasperReports Objets HTML manquants
- 18. JasperReports Crosstab Query
- 19. JasperReports: Field Date
- 20. Générer un fichier CSV avec JasperReports
- 21. JasperReports: Déclarer une variable comme HashMap
- 22. Alt pour les images dans JasperReports
- 23. Rendu XHTML arbitraire avec JasperReports
- 24. Comment modifier la couleur d'arrière-plan du graphique JasperReports
- 25. Formatage de fichier CSV dans JasperReports
- 26. Est-ce que JasperReports peut inclure un pdf dans un rapport?
- 27. Comment fusionner deux documents pdf en un seul rapport dans JasperReports?
- 28. Exporter un rapport et enregistrer dans un emplacement en utilisant JasperReports
- 29. Comment éviter les valeurs nulles dans JasperReports
- 30. JasperReports dans .Net sur IKVM
performances peuvent être améliorées en remplissant le fichier '.jasper' au lieu de compiler le rapport à chaque demande. –