Soy nuevo en JasperReports
y no sé cómo llamar al archivo jasper del servlet. Mi informe contiene el gráfico circular.JasperReports: informe de llamadas del servlet
6
A
Respuesta
1
Aquí hay un informe ficticio creado dentro de un archivo Servlet.
Es lo mismo que en la clase normal de Java.
Solo asegúrese de tener las importaciones para sus clases de informes de jaspe en la parte superior del archivo.
El ejemplo siguiente crea un informe a partir de un origen de datos 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
Puede preparar el archivo Jasper y transmitirlo al cliente.
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
Una forma completa a hacerlo desde el servlet sería:
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);
}
Cuestiones relacionadas
- 1. Informe de varias páginas de JasperReports con contenido diferente
- 2. JasperReports: Cómo llamar al informe en la página jsp
- 3. JasperReports html y pdf output
- 4. JasperReports Fuente predeterminada
- 5. JasperReports: valor predeterminado en lugar de 'nulo'
- 6. JasperReports: ¿Cómo llamar a un método de Java Bean en la plantilla de informe?
- 7. Variable de contador JasperReports siempre incrementando
- 8. JasperReports: Cómo pasar el parámetro a subReport
- 9. Raíz URl del servlet
- 10. Color de fila alterno para JasperReports
- 11. Uso del informe de seguimiento
- 12. Uso de JasperReports con una ruta relativa
- 13. Banda de detalle múltiple en JasperReports
- 14. Adición de borde de tabla en jasperreports
- 15. ¿Cómo combinar dos documentos pdf en un único informe en JasperReports?
- 16. clase personalizada para el campo JasperReports
- 17. Pasar datos del servlet a otro servlet usando RequestDispatcher
- 18. JasperReports incluyendo una página en blanco al final del PDF
- 19. Progreso del informe en Directory.GetFiles
- 20. redirigir jsp del servlet RequestDispatcher
- 21. PAGE_COUNT no procesado correctamente en JasperReports ...?
- 22. Informe de prueba
- 23. JasperReports: Cómo formatear datos numéricos con el exportador de Excel
- 24. JasperReports: especificando varias fuentes?
- 25. JasperReports Vs iReport
- 26. dependencias mínimas para JasperReports
- 27. Informe de error de JBoss: HTTP Status 404 - El servlet no está disponible
- 28. ¿Cómo pasar ArrayList a JasperReports?
- 29. inicialización del servlet mvc de primavera
- 30. Informe del parte de horas en FogBugz?
El rendimiento puede mejorarse mediante la cumplimentación del archivo '.jasper' en lugar de compilar el informe en cada solicitud. –