Я пытаюсь использовать getServletContext (). GetRealPath ("/") , но я получаю эту ошибку:
не может найти символ
символ: метод getServletContext ()
расположение: интерфейс javax.servlet.http.HttpSession
String path = session.getServletContext (). GetRealPath ("/") + "layout / tile /" + 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();
}
Вы хоть представляете, почему это происходит?
Спасибо, Ритеш, я сделал то, что вы мне сказали, но теперь я получаю новое сообщение
------ РЕДАКТИРОВАТЬ --------
проверяя мой dispatcher-servlet.xml Я обнаружил, что он немного отличается от кода, показанного на этом веб . Я не знаю, как это может повлиять на мой проект, но что мне нравится знать, есть ли другой подход к получению того же результата, что и при использовании сеанса. 1026 *
<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>