السلام عليكم ورحمة الله وبركاته
بداية أحب أن أتوجه بالشكر ل oracle_java على رده في موضوع محاولة تحتاج لتصحيح بالنسبة لإضافة تقرير لصفحة jsf
وعلى حله للمشكلة بطريقة servlet class لكن المشكلة أنني لم أستطع تطبيق الحل ! واستمر ظهور الأخطاء معي , لكني لم أيأس واستمريت في البحث والتعلم إلى أن حلت المشكلة بالطريقة التالية
String fileName = "f:\\folder jasper example\\report1.jasper";
//String fileName = "/reports/report1.jasper";
String outFileName = "f:\\folder jasper example\\output1.pdf";
//String outFileName = "/reports/output1.pdf";
HashMap hm = new HashMap();
try {
//Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "mypassword");
JasperPrint print = JasperFillManager.fillReport(fileName, hm, conn);
// Create a PDF exporter
JRExporter exporter = new JRPdfExporter();
// Configure the exporter (set output file name and print object)
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, outFileName);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
// Export the PDF file
exporter.exportReport();
مرفق مشروع jsp و jsf بدون مكتبات لتقليل الحجم
يمكن الحصول على المكتبات بالرجوع للموضوع التالي
تصدير تقرير jasper إلى pdf أو xls أو طباعته على الطابعة
لكن ماذا لو أردت من المستخدم أن يحدد مكان حفظ الملف على جهازه ؟
وكيف يمكن استخدام المسار النسبي للملف حيث لم استطع استخدام الامران التاليان بطريقة صحيحة
String fileName = this.getServletContext().getRealPath("/reports/report1.jasper");
String outFileName = this.getServletContext().getRealPath("/reports/output1.pdf");
