Java 一次直接打印多个jasper报告

Java 一次直接打印多个jasper报告,java,jasper-reports,Java,Jasper Reports,我一直在尝试直接打印两份jasper报告,但它只打印一份报告,而对于另一份报告,它会发送一个错误,说, net.sf.jasperreports.engine.jr异常:java.io.FileNotFoundException:Reports\Invoice.jasper 以下代码是我用于此操作的IReport连接代码 public IReport(String filename, HashMap parameter) { super("Report Viewer"); set

我一直在尝试直接打印两份jasper报告,但它只打印一份报告,而对于另一份报告,它会发送一个错误,说, net.sf.jasperreports.engine.jr异常:java.io.FileNotFoundException:Reports\Invoice.jasper

以下代码是我用于此操作的IReport连接代码

public IReport(String filename, HashMap parameter) {
    super("Report Viewer");
    setIcon();

    try {
        DefaultJasperReportsContext context = DefaultJasperReportsContext.getInstance();
        JRPropertiesUtil.getInstance(context).setProperty("net.sf.jasperreports.xpath.executer.factory",
                "net.sf.jasperreports.engine.util.xml.JaxenXPathExecuterFactory");
        JasperPrint print = JasperFillManager.fillReport(filename, parameter, DatabaseService.getConnection());

        JasperPrintManager.printReport(print,false);
    } catch (Exception ex) {
        ex.printStackTrace();
    }

    this.setExtendedState(MAXIMIZED_BOTH);
    this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
最后我在另一节课上讲了这个

IReport showme=新IReport(“Reports/Invoice.jasper”,参数);

IReport showme2=新IReport(“Reports/Bill.jasper”,param,“text”)

要问显而易见的问题,文件
Reports/Invoice.jasper
是否存在?当您仅尝试为
Invoice.Jasper
创建Jasper报告时会发生什么?它打印吗?是的,当它单独打印时,它会打印另一份报告。它似乎一次只打印一个报告。您确定您的数据库连接得到了正确处理吗?这可能是在生成第一个报告后失败的。这是我用于此目的的数据库连接代码,`public static connection getConnection()引发异常{if(c==null){Class.forName(“com.mysql.jdbc.Driver”);String connectionstring=“jdbc:mysql://”+dbhost+:”+dbport+dbname;c=(Connection)DriverManager.getConnection(connectionstring,dbuser,dbpassword);返回c;}否则{return c;}}`要问显而易见的问题,文件
Reports/Invoice.jasper
是否存在?当您仅尝试为
Invoice.Jasper
创建Jasper报告时会发生什么?它打印吗?是的,当它单独打印时,它会打印另一份报告。它似乎一次只打印一个报告。您确定您的数据库连接得到了正确处理吗?这可能是在生成第一个报告后失败的。这是我用于此目的的数据库连接代码,`public static connection getConnection()引发异常{if(c==null){Class.forName(“com.mysql.jdbc.Driver”);String connectionstring=“jdbc:mysql://”+dbhost+:”+dbport+dbname;c=(连接)DriverManager.getConnection(connectionstring、dbuser、dbpassword);返回c;}否则{return c;}`