如何从WEB-INF / resources文件夹中读取文件?

时间:2011-10-03 07:48:49

标签: jasper-reports icefaces

我正在使用Icefaces进行Web应用程序开发。我希望从资源文件夹中读取一个文件,并在sessionbean中使用它。

其实我希望设置Jasper Reports。我已经在类路径中设置了库。我得到的问题是从/ WEB-INF / resources /文件夹中获取文件。每次我从SessionBean运行代码时,都会得到异常:

net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: /resources/reports/myreport.jrxml (No such file or directory)

我使用的代码是:

public void generateReport() {
    try {
            JasperCompileManager.compileReportToFile(
                    "/resources/reports/myreport.jrxml",
                    "/resources/reports/myreport.jasper");
        } catch (Exception e) {
            e.printStackTrace();
        }
}

上面的代码在SessionBean中。 Plz帮助

1 个答案:

答案 0 :(得分:1)

你正在过亲戚 方法JasperCompileManager.compileReportToFile的网址。 此方法需要将文件名作为参数,而不是URL。

其他互联网论坛建议的解决方案是:

JasperCompileManager.compileReportToFile(
  getServletContext().getRealPath(xmlFile), 
  getServletContext().getRealPath(compiledFile));