2013-05-26 2 views
0

Я хочу, чтобы интегрировать JasperReports в мой веб-приложений Java: Я хочу, чтобы собрать свои данные .jrxml со следующим кодированием:Исключение: Jasper Reports интеграция с Java Web App

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".

Есть ли у кого-нибудь решение проблемы? Я хочу обратиться к папке /reports в своем веб-приложении.

ответ

0

Edited

Я обычно кладу отчеты в папку WebContent. Таким образом, вы можете сделать относительную ссылку на этот путь.

Кроме того, вы должны попробовать запустить приложение в Tomcat или другом контейнере.

WebContent /отчеты /report1.jrxml

и это должно работать

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

Я надеюсь, что это поможет вам.

+0

Спасибо за ваш ответ, но, к сожалению, это не сработало :-(. Должен ли я сделать какую-либо запись в своем web.xml или в своем приложении-коннекторе, чтобы сообщить tomcat, что мои сообщения о яшме находятся в Веб-папка WebContent? Спасибо, – user2421961

+0

. Вы настроены. Я отредактировал свой ответ, и теперь он должен работать. – markosca

+0

Привет! Извините, но я не знаю, как я могу получить объект запроса. Является ли это из HttpServletRequest? запрос, но я не знаю, как это может работать :-(. WebApp работает на сервере Tomcat 7. Спасибо! – user2421961

Смежные вопросы