Próbuję użyć getServletContext() getRealPath ("/"), ale wciąż otrzymuję ten błąd.Dlaczego getservletcontext nie został znaleziony?
nie może odnaleźć symbol symbol: metoda getServletContext() lokalizacja: Interfejs javax. servlet.http.HttpSession Ścieżka ciągu = 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();
}
Jeżeli masz jakiś pomysł dlaczego tak się dzieje?
Dzięki Ritesh, robiłem, co mi powiedział, ale teraz mam nową wiadomość
------ EDIT --------
sprawdzanie mój dispatcher-servlet.xml Zauważyłem, że trochę różni się od kodu pokazanego na tym web. Nie wiem, jak to wpłynęłoby na mój projekt, ale to, co robię, lubię wiedzieć, czy istnieje inne podejście do uzyskania tego samego wyniku co sesja. 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>
Czy możesz sprawdzić ten dokument http: // netbeans.org/kb/68/web/quickstart-webapps-spring.html i czy w konfiguracji projektu jest coś innego? – Ritesh
Którą wersję raportów Jasper używasz i jakie słoiki z raportów Jasper dodałeś do swojego projektu? – Ritesh
@ Ritesh-JasperReports 3.7.1 i ... to jest dość kłopotliwe, ponieważ nie wiedziałem, które słoiki dodać, dodałem wszystkie słoiki zawarte w folderach "lib" i "dist", które pochodzą z jasperreports- 3.7.1-project.zip. – eddy