Я пытаюсь использовать getServletContext() getRealPath ("/"), но я получаю эту ошибку:.Почему getervletcontext не найден?
не может найти символ символ: метод getServletContext() местоположение: интерфейс javax. servlet.http.HttpSession String path = session.getServletContext(). getRealPath ("/") + "layout/tiles /" + reportPath;
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
session = request.getSession();
Map params = new HashMap();
String reportPath = "maintenance/jasper/report01.jasper";
exportToPDF(reportPath , response, params);
return null;
}
protected void exportToPDF(String reportPath , HttpServletResponse response, Map jasperParams) throws Exception {
String path = session.getServletContext().getRealPath("/") + "layout/tiles/" + reportPath ;
if (!new File(path).exists()) {
throw new Exception("The path doesn''t exist. </br>" + path);
}
InputStream input = new FileInputStream(path);
jasperParams.put("REPORT_LOCALE", Locale.US);
JasperPrint jasper = JasperFillManager.fillReport(input , jasperParams, new JRBeanCollectionDataSource(Vehicles));
response.setContentType("application/pdf");
ServletOutputStream output = response.getOutputStream();
JRExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasper);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, output);
exporter.exportReport();
output.close();
}
Есть ли у Вас идея, почему это происходит?
Благодаря Ritesh, я сделал то, что вы сказали мне, но теперь я получаю новое сообщение
------ EDIT --------
проверки мой dispatcher-servlet.xml Я обнаружил, что он отличается от кода, показанного на этом web. Я не знаю, как это может повлиять на мой проект, но мне нравится знать, есть ли другой подход к получению того же результата, что и использование сеанса. getServletContext() .getRealPath ("/")
<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.tiles2.TilesView" />
</bean>
<bean id="tilesConfigurer"
class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/tiles.xml</value>
</list>
</property>
</bean>
Можете ли вы проверить этот документ http: // netbeans.org/kb/68/web/quickstart-webapps-spring.html и посмотреть, нет ли чего-то другого в настройке вашего проекта? – Ritesh
Какую версию отчетов Jasper вы используете и какие банки отчетов Jasper вы добавили в свой проект? – Ritesh
@ Ritesh-JasperReports 3.7.1 и ... это довольно неловко, так как я не знал, какие банки добавить, я добавил все банки, включенные в папки «lib» и «dist», которые поставляются с jasperreports- 3.7.1-project.zip. – eddy