在struts 2中使用xml文件作为数据源创建ireport时遇到问题

时间:2011-09-20 07:34:13

标签: struts2 ireport

你好朋友我试图在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>

请帮我解决此问题。

1 个答案:

答案 0 :(得分:1)

根据JasperReports Plugin docsdataSource元素应该是一个EL表达式,它将值堆栈数据公开给报表。

如果您尝试以其他方式填写/运行报告,则使用该插件是不合适的。该插件专门用于直接从Struts 2操作中获取数据,并将其公开给JasperReports而无需任何中间步骤。