2014-11-05 174 views
1

我想在我的Java Web應用程序中使用Jasper獲取PDF報告,但我面臨空指針異常,我無法找到哪個是錯誤。Jreport JasperRunManager.runReportToPdfStream空指針異常

這裏我下面的代碼:

private void caricaReport() { 
    try{ 
     InputStream is = getClass().getResourceAsStream("reports/miooperearte.jasper"); 


     File OutDir = new File(outputDir); 


     File outDir = new File(outputDir); 
     outDir.mkdirs(); 
     OutputStream os = new FileOutputStream(new File(outDir, "testReportNadia.pdf")); 

     HashMap parameterMap = new HashMap(); 
     parameterMap.put("immagini_base_dir", "/Applications/MAMP/htdocs/Dboperearte/app/webroot/images/"); 


     Collection data = leggiOpere(); 

     JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(data,false); 

      JasperRunManager.runReportToPdfStream(is, os, parameterMap, dataSource); 

    } 
    catch (Exception e) { 
      e.printStackTrace(); 
    } 
} 

變量「是」,「操作系統」,「parameterMap的」和「數據源」都充滿,異常不顯示是空的問題只能說空指針例外...

任何想法可以幫助我解決或發現問題?

感謝

+0

異常的堆棧跟蹤應該告訴你問題出在哪一行。還應該嘗試使用調試器來遍歷代碼並檢查每個變量以查看其值。 – codebox 2014-11-05 14:24:55

+0

這是問題... stacktrace不顯示任何東西:(..並在調試最後一行運行是JasperRunManager.runReportToPdfStream(是,os,parameterMap,dataSource);之後,在異常但所有變量都被正確填充 – NadiaUl 2014-11-05 14:28:45

+0

在報告中打印你發送的數據收集實例,如果有任何字段爲空,它將顯示空指針異常 – user1791574 2014-11-06 07:49:04

回答

0

我猜想,parameterMap不包含的東西,在JasperRunManager期待中的條目 - 確保你不會從那裏缺少任何值。