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

发布于 2024-12-08 09:50:18 字数 706 浏览 0 评论 0原文

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

实际上我想设置 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 中。 请帮忙

I am using Icefaces for webapplication development. I wish to read a file from the resources folder and use it in the sessionbean.

Actually I wish to setup Jasper Reports. I have already setup the libraries in the classpath. The problem I get is while fetching the file from /WEB-INF/resources/ folder. Everytime I run the code from SessionBean, I get the exception:

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

The Code I use is:

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

The above code is in the SessionBean.
Plz help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

指尖微凉心微凉 2024-12-15 09:50:18

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

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

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

You are passing relative
URLs to method JasperCompileManager.compileReportToFile.
This method expects filenames as parameters, not URLs.

The solution suggested in other internet forums is:

JasperCompileManager.compileReportToFile(
  getServletContext().getRealPath(xmlFile), 
  getServletContext().getRealPath(compiledFile));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文