2013-05-26 56 views
0

我想JasperReports的集成到我的Java Web應用程序的集成:我想用下面的代碼編譯我.jrxml數據:例外:碧玉報告使用Java Web應用程序

JasperReport jasperReport = JasperCompileManager.compileReport("/reports/report1.jrxml"); 

此代碼不能正常工作。我只收到FileNotFoundException

當我鍵入而不是"/reports/.jrxml"我的Windows XP文件系統上的路徑,例如"C:/report1.jrxml"這將工作沒有任何問題,並生成PDF。

當我嘗試

JasperReport jasperReport = JasperCompileManager.compileReport(new File("").getAbsolutePath() + "reports/report1.jrxml"); 

我得到的只有"C:\Program Files\eclipse"的路徑。

有沒有人有我的問題的解決方案?我想在我的Web應用程序中引用文件夾/reports

回答

0

編輯

我通常把我的報告到WebContent文件夾。因此,您可以對此路徑進行相對引用。

此外,您必須嘗試在Tomcat或其他容器中運行應用程序。

的WebContent /報告 /report1.jrxml

,這必須努力

Strnig path = request.getSession().getServletContext().getRealPath("/");  
JasperReport jasperReport=JasperCompileManager.compileReport(path+"/reports/report1.jrxml"); 

我希望這可以幫助您。

+0

謝謝你的回答,但不幸的是,這不起作用:-(。 我是否必須在我的web.xml或我的application-conext中輸入任何條目來告訴tomcat我的碧玉報告在WebContent文件夾? 謝謝! – user2421961

+0

您是可靠的。我編輯了我的答案,現在它必須工作 – markosca

+0

嗨!抱歉,我不知道如何獲取請求對象。是否來自HttpServletRequest?我必須實例化請求,但我不知道這是如何工作的:-(。WebApp在Tomcat 7服務器上運行,謝謝! – user2421961