Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.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
Java JasperReport问题与struts2一起使用-在最终PDF文件中获取null_Java_Jasper Reports - Fatal编程技术网

Java JasperReport问题与struts2一起使用-在最终PDF文件中获取null

Java JasperReport问题与struts2一起使用-在最终PDF文件中获取null,java,jasper-reports,Java,Jasper Reports,我正在写关于struts2问题的jasper报告。以下是我尝试执行的代码: struts.xml包含: /jasper/our_编译的_template.jasper 迈利斯特 PDF My JasperAction1包含: import java.util.ArrayList; 导入java.util.List; 导入java.io.FileInputStream; 导入com.opensymphony.xwork2.ActionSupport; 导入com.sufalam.busines

我正在写关于struts2问题的jasper报告。以下是我尝试执行的代码:

struts.xml包含:


/jasper/our_编译的_template.jasper
迈利斯特
PDF
My JasperAction1包含:

import java.util.ArrayList;
导入java.util.List;
导入java.io.FileInputStream;
导入com.opensymphony.xwork2.ActionSupport;
导入com.sufalam.business.model.util.LegacyJasperInputStream;
导入com.sufalam.business.finance.model.bean.Account;
导入net.sf.jasperreports.engine.JasperCompileManager;
导入net.sf.jasperreports.engine.design.JasperDesign;
导入net.sf.jasperreports.engine.xml.JRXmlLoader;
公共类JasperAction1扩展了ActionSupport{
/**要用作JasperReports数据源的列表*/
私人名单;
公共字符串execute()引发异常{
//创造一些假想的人。
账户a1=新账户();
账户a2=新账户();
a1.setId(77);
a1.设定名称(“aaa”);
a2.setId(88);
a2.设置名称(“bbb”);
//将人员存储在我们的数据源列表中(通常来自数据库)。
myList=新的ArrayList();
添加(a1);
添加(a2);
//通常我们会提供一个预编译的.jrxml文件
//或者检查以确保我们不会对每个请求进行编译。
试一试{
JasperDesign=JRXmlLoader.load(
新的legacyjaspenputstream(新的FileInputStream(“F://backup//report2.jrxml”);
jaspecompilemanager.compileReportToFile(设计,“F://backup//our_compiled_template1.jasper”);
}捕获(例外e){
e、 printStackTrace();
返回误差;
}
回归成功;
}
公共列表getMyList(){
返回myList;
}
}
我正在使用Netbeans的iReport插件生成.jrxml文件。使用iReport向导设计我的页面后,我的_jasper_template.jrxml文件包含以下代码:


现在我面临的问题是,当我执行这个action类时,它会以pdf格式提供以下输出:

虽然我可能没有最终的解决方案,但有一个细节对我来说很奇怪:您的字段
帐户\u主帐户\u名称
帐户\u主帐户\u id
似乎与帐户类的属性名称并不一致。它不应该是
id
name
?对我来说奇怪的是,它在填写报告时会产生一个错误


我对Struts不太熟悉,但我看不出它会有什么影响。

虽然我可能没有最终的解决方案,但有一个细节对我来说很奇怪:您的字段
account\u master\u name
account\u master\u id
似乎与account类的属性名称并不完全一致。它不应该是
id
name
?对我来说奇怪的是,它在填写报告时会产生一个错误


我对Struts不太熟悉,但我看不出它会有什么影响。

只需从.jrxml文件中删除查询字符串部分,并用account类的变量名更改字段名。

只需从.jrxml文件中删除查询字符串部分,并用account类的变量名更改字段名。

是的,但我尝试将id&name更改为字段名。但我仍然得到空值,这不是填写报告时的错误。调试显示正在填充:null不是错误。。。你们有什么建议吗?是的,但我试着把id&name改成一个字段名。但我仍然得到空值,这不是填写报告时的错误。调试显示正在填充:null不是错误。。。你有什么建议吗?