【发布时间】:2011-06-17 22:55:10
【问题描述】:
我正在尝试使用 getServletContext().getRealPath( "/" ) ,但我不断收到此错误:
找不到符号 符号:方法 getServletContext() 位置:接口 javax.servlet.http.HttpSession 字符串路径 = 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,我按照你说的做了,但现在我收到一条新消息
--------编辑--------
检查我的 dispatcher-servlet.xml 我发现它与 web 上显示的代码有点不同。我不知道它会如何影响我的项目,但我想知道是否有不同的方法可以获得与使用 session.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>
【问题讨论】:
-
你能看看这个文档netbeans.org/kb/68/web/quickstart-webapps-spring.html 看看你的项目设置有什么不同吗?
-
您使用的是哪个版本的 Jasper 报告,您在项目中添加了哪些 Jasper 报告 jar?
-
@Ritesh-JasperReports 3.7.1 and ...这很尴尬,因为我不知道要添加哪些罐子,所以我添加了“lib”和“dist”中包含的所有罐子jasperreports-3.7.1-project.zip 附带的文件夹。
-
请在下面查看我编辑的答案。
标签: java servlets spring-mvc