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