你好朋友我试图在struts 2中使用xre dataSource使用ireport创建Report但是当我执行action时它的工作正常我的报告格式也正常但是包含空值
这是我的动作类
public String execute() throws Exception {
Connectionhandler.establishConnection();
ForReports fr = new ForReports();
//Creating Servlet Context
ServletContext context = ServletActionContext.getServletContext();
//Creating Source XML file
fr.getFinalResult(Connectionhandler.con, (2009 + stmtYear), empId, context);
Connectionhandler.closeConnection();
try {
// adding parameters
reportParams.put("imgPath", context.getRealPath("/images"));
//Contains Report Query
reportParams.put("REPORT_QUERY", "/main/employee/nomineelst/nominee");
//Compiling Report
JasperCompileManager.compileReportToFile(
context.getRealPath("/WEB-INF/classes/org/gea/report/pf/pfStatement.jrxml"),
context.getRealPath("/WEB-INF/classes/org/gea/report/pf/pfStatement.jasper"));
}catch(Exception e){
e.printStackTrace();
}
return SUCCESS;
}
这是Struts.xml中的报告配置
<action name="getReport" class="org.gea.action.pf.GenerateReport">
<result name="success" type="jasper">
<param name="location">/WEB-INF/classes/org/gea/report/pf/pfStatement.jasper</param>
<param name="dataSource">"/WEB-INF/classes/org/gea/report/pf/PfStatementXML.xml"</param>
<param name="format">PDF</param>
<param name="reportParameters">reportParams</param>
<param name="documentName">PF Statement</param>
</result>
</action>
请帮我解决此问题。
答案 0 :(得分:1)
根据JasperReports Plugin docs,dataSource
元素应该是一个EL表达式,它将值堆栈数据公开给报表。
如果您尝试以其他方式填写/运行报告,则使用该插件是不合适的。该插件专门用于直接从Struts 2操作中获取数据,并将其公开给JasperReports而无需任何中间步骤。