如何获取Grails的jasper报告的数据源连接?

时间:2017-04-19 14:14:47

标签: grails jasper-reports

目前,我正在使用JasperReports JSF插件在现有的基于JSF的应用程序上使用jasper添加和开发PDF导出。

这就是这个东西,这个应用程序的端点连接到Grails。因此,我的JSF应用程序直接连接到设置的Oracle数据库,我的JSF应用程序必须每次需要来自数据库的数据时才向Grails应用程序发出请求以将其作为JSON返回。

在我设计的jasper模板中,有一个查询需要JDBC连接到我自己的数据库。在这种情况下,我必须为jasperreports插件的fillreport方法提供连接对象。

JasperPrint jasperPrint = JasperFillManager.fillReport(urlJasper, parameters, connection);

这是fillreport对象中的JasperFillManager方法:

public static JasperPrint fillReport(String sourceFileName, Map<String, Object> params, Connection connection) throws JRException {
    // <editor-fold defaultstate="collapsed" desc="Compiled Code">
    /* 0: invokestatic  net/sf/jasperreports/engine/JasperFillManager.getDefaultInstance:()Lnet/sf/jasperreports/engine/JasperFillManager;
     * 3: aload_0
     * 4: aload_1
     * 5: aload_2
     * 6: invokevirtual net/sf/jasperreports/engine/JasperFillManager.fill:(Ljava/lang/String;Ljava/util/Map;Ljava/sql/Connection;)Lnet/sf/jasperreports/engine/JasperPrint;
     * 9: areturn
     *  */
    // </editor-fold>
}

主要问题是,我可以从Grails的数据源获取连接对象吗?因为据我所知,Grails到JSF的输出始终是JSON格式。非常感谢。对不起,解释不好。

1 个答案:

答案 0 :(得分:0)

注入dataSource

Datasource dataSource

然后致电

dataSource.getConnection()