Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 无法访问目标,运行JasperReports 6.0.1时,标识符“xxxBean”解析为null_Jsf 2_Jasper Reports - Fatal编程技术网

Jsf 2 无法访问目标,运行JasperReports 6.0.1时,标识符“xxxBean”解析为null

Jsf 2 无法访问目标,运行JasperReports 6.0.1时,标识符“xxxBean”解析为null,jsf-2,jasper-reports,Jsf 2,Jasper Reports,在我添加代码运行JasperReport之前,我有一个运行良好的应用程序。这个错误是众所周知的 Target Unreachable, identifier 'studentBean' resolved to null 在添加运行JasperReport所需的代码后,使用该bean StudenBean的特定页面在显示异常之前就开始显示这样的异常。在注释/取消注释代码行的过程之后,我可以分离出导致问题的不精确行。如下图所示: private void gerarRelatorioPDF(Lis

在我添加代码运行JasperReport之前,我有一个运行良好的应用程序。这个错误是众所周知的

Target Unreachable, identifier 'studentBean' resolved to null
在添加运行JasperReport所需的代码后,使用该bean StudenBean的特定页面在显示异常之前就开始显示这样的异常。在注释/取消注释代码行的过程之后,我可以分离出导致问题的不精确行。如下图所示:

private void gerarRelatorioPDF(List<Student> students, InputStream report, OutputStream pdf) {
    JRDataSource jrds = new JRBeanCollectionDataSource(students);
    try {
        JasperRunManager.runReportToPdfStream(report, pdf, null, jrds); // <<-- Here!!!
    } catch (Exception e) {
        e.printStackTrace();
    }
}
这是从JasperReport定义生成PDF流的行。此方法是私有的,因为它由另一个公共方法调用。public方法是页面中的操作,因此此按钮甚至没有被单击,因为异常阻止页面呈现

如果我对这行代码进行注释,页面呈现ok,我可以单击按钮,但显然不会生成报告


有没有办法修复它?

经过一些研究,我决定修改POM.xml Maven脚本,将其包括在内。以前我只在Eclipse中安装了JasperReports 6.0.1插件,创建并配置了报告

当我们向项目中添加新报表时,Eclipse会自动将JasperReports库的路径添加到类路径中,因此项目可以很好地编译,但似乎没有添加其他依赖项,特别是在我的案例JBoss AS 7.1中,没有部署到应用程序服务器

在更新POM.xml以包含JasperReports之后,一切都开始按预期工作