Java Struts2 jasperreports插件:无法使用jdbc连接生成报告

Java Struts2 jasperreports插件:无法使用jdbc连接生成报告,java,jdbc,struts2,jasper-reports,Java,Jdbc,Struts2,Jasper Reports,我正在使用struts2 jasperreports插件,并试图生成一个调用操作的HTML报告 .jasper文件是使用iReport生成的 我使用列表作为数据源成功地生成了报告,但在尝试使用jdbc连接时遇到了一些问题 这就是我在这之后所做的 在struts.xml中,我将数据源更改为“sqlConnection”。 结果,我得到一个只有一行空值的报告 我还尝试使用相同的连接生成输出文件: public String getTestReport() { try {

我正在使用struts2 jasperreports插件,并试图生成一个调用操作的HTML报告

.jasper文件是使用iReport生成的

我使用列表作为数据源成功地生成了报告,但在尝试使用jdbc连接时遇到了一些问题

这就是我在这之后所做的

在struts.xml中,我将数据源更改为“sqlConnection”。 结果,我得到一个只有一行空值的报告

我还尝试使用相同的连接生成输出文件:

public String getTestReport() {
        try {
            sqlConnection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "user", "pwd");

            JasperReport report = JasperCompileManager.compileReport("report2.jrxml");
            JasperPrint print = JasperFillManager.fillReport(report, new HashMap<String, Object>(), sqlConnection);
             JasperExportManager.exportReportToHtmlFile(print, "repo.html");
        }
        catch(Exception e) {
            return ERROR;
        }

        return SUCCESS;
    }
公共字符串getTestReport(){
试一试{
sqlConnection=DriverManager.getConnection(“jdbc:mysql://localhost:3306/mydb“、”用户“、”pwd”);
JasperReport report=jaspecompilemanager.compileReport(“report2.jrxml”);
JasperPrint print=JasperFillManager.fillReport(report,new HashMap(),sqlConnection);
JasperExportManager.exportReportToHtmlFile(打印,“repo.html”);
}
捕获(例外e){
返回误差;
}
回归成功;
}
调用该操作时,显示的报告仍然包含空值,但生成的html文件包含表中存储的所有数据

我是JasperReports的新手,我不知道我是错过了什么还是做错了什么


提前感谢您的帮助:)

根据
struts2 jasperreports插件
要使用JDBC连接,您需要在
connection
参数中定义它

<package name="jasperreport" namespace="/reports" extends="jasperreports-default">
    <action name="myJasperTest" class="[...]JasperReportAction" method="getTestReport">
        <result name="success" type="jasper" >
            <param name="location">report2.jasper</param>
            <param name="connection">sqlConnection</param> 
            <param name="format">HTML</param>
        </result>
    </action>
</package>

报告2.jasper
sqlConnection
HTML

另外,不要忘记为
sqlConnection

创建getter/setter,谢谢!我没有太注意连接参数,我只关注数据源:)
public String getTestReport() {
        try {
            sqlConnection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "user", "pwd");

            JasperReport report = JasperCompileManager.compileReport("report2.jrxml");
            JasperPrint print = JasperFillManager.fillReport(report, new HashMap<String, Object>(), sqlConnection);
             JasperExportManager.exportReportToHtmlFile(print, "repo.html");
        }
        catch(Exception e) {
            return ERROR;
        }

        return SUCCESS;
    }
<package name="jasperreport" namespace="/reports" extends="jasperreports-default">
    <action name="myJasperTest" class="[...]JasperReportAction" method="getTestReport">
        <result name="success" type="jasper" >
            <param name="location">report2.jasper</param>
            <param name="connection">sqlConnection</param> 
            <param name="format">HTML</param>
        </result>
    </action>
</package>