2017-04-19 36 views
1

目前,我正在使用JasperReports JSF插件在现有的基于JSF的应用程序中添加和开发PDF导出。如何获取用于jasper报告的Grails数据源连接?

这是事情,这个应用程序的端点连接到Grails。因此,相反,我的JSF应用程序直接连接到设置的Oracle数据库,我的JSF应用程序必须在每次需要数据库中的数据将它作为JSON返回时向Grails应用程序发出请求。

在我设计的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格式。非常感谢。对不好的解释抱歉。

+0

也不JSF不是Java-SE使得到数据源的连接。所以我希望一些Grails专家可以帮助你... – Kukeltje

回答

0

注入则dataSource

Datasource dataSource

然后调用

dataSource.getConnection()

+0

对不起,连接在JSF-app中是必需的,而不是Grails应用程序。 –

+1

那么这与Grails有什么关系呢? –