بتاريخ: 2 ديسمبر 20205 سنة comment_301175 السلام عليكم كان عندي مشكلة فى كود call jasper report from Servlet فى خطاء فى هذا الجزء CreateRootApplicationModule كما فى الصورة المرفقه وهذا الكود الذي تم كتابة public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PreparedStatement st = null; String amDef = "STORE1.AppModuleSTORE1"; String config = "AppModuleSTORE1Local"; AppModuleImpl am = (AppModuleImpl)Configuration.createRootApplicationModule(amDef,config); st = am.getDBTransaction().createPreparedStatement("select 1 from dual", 0); Connection conn = null; String reportName = request.getParameter("rn"); String id = request.getParameter("id"); try { conn = st.getConnection(); } catch (Exception e) { // TODO: Add catch code System.out.println("Error1 getDBTansactio jasper:" + e.getMessage()); InputStream input = new FileInputStream (new File(getServletConfig().getServletContext().getRealPath("/Reports/"+reportName +".jrxml"))); JasperDesign design = null ; try { design = JRXmlLoader.load(input); } catch (JRException ex) { // TODO: Add catch code System.out.println("Error2 JasperDesign JRXmlLoader:" + ex.getMessage()); } JasperReport report = null ; try { report = JasperCompileManager.compileReport(design); report = (JasperReport)JRLoader.loadObject(input); report.setWhenNoDataType(WhenNoDataTypeEnum.NO_DATA_SECTION); ; } catch (JRException ex) { // TODO: Add catch code System.out.println("error 3 JasperCompileManager:" + ex.getMessage()); } //set Parm Map parm = new HashMap(); parm.put("pDept",id); JasperPrint jasperPrint= null; try { jasperPrint = JasperFillManager.fillReport(report,parm,conn); } catch (JRException ex) { // TODO: Add catch code System.out.println("error 4 JasperPrint JasperFillManager.fillReport:" + ex.getMessage()); } OutputStream ouputStream = response.getOutputStream(); response.setContentType("application/pdf"); response.setHeader("Cache-Control", "max-age=0"); JRExporter exporter = new JRPdfExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_STREAM,ouputStream); try { exporter.exportReport(); } catch (JRException ex) { // TODO: Add catch code System.out.println("error 6 jreexpter JasperFillManager.fformat:" + ex.getMessage()); } finally{ if(ouputStream != null){ try { ouputStream.flush(); ouputStream.close(); } catch (IOException ex) { // TODO: Add catch code System.out.println(ex.getMessage()); throw(ex); } } } } } } تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.