如何获取 Grails 的 jasper 报告的数据源连接?
Posted
技术标签:
【中文标题】如何获取 Grails 的 jasper 报告的数据源连接?【英文标题】:How to get Grails's datasource connection for jasper reports? 【发布时间】:2017-04-19 14:14:46 【问题描述】:目前,我正在使用 JasperReports JSF 插件在现有的基于 JSF 的应用程序上添加和开发带有 jasper 的 PDF 导出。
事情是这样的,这个应用程序的端点连接到 Grails。因此,我的 JSF 应用程序直接连接到设置的 Oracle 数据库,而我的 JSF 应用程序必须在每次需要来自数据库的数据以将其作为 JSON 返回时向 Grails 应用程序发出请求。
在我设计的 jasper 模板中,有一个查询需要 JDBC 连接到我自己的数据库。在这种情况下,我必须为 jasperreports 插件的fillreport
方法提供一个连接对象。
JasperPrint jasperPrint = JasperFillManager.fillReport(urlJasper, parameters, connection);
这是JasperFillManager
对象中的fillreport
方法:
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 格式。非常感谢。抱歉解释不好。
【问题讨论】:
也不是 jsf 不是 java-se 连接到数据源。所以我希望一些grails专家可以帮助你...... 【参考方案1】:注入数据源
Datasource dataSource
然后调用
dataSource.getConnection()
【讨论】:
很抱歉,JSF 应用程序需要连接,而不是 Grails 应用程序。 那么这和 Grails 有什么关系呢?以上是关于如何获取 Grails 的 jasper 报告的数据源连接?的主要内容,如果未能解决你的问题,请参考以下文章
如何将两个jrxml jasper报告合并为一个单独的pdf输出文件
如何避免获取java.lang.NoClassDefFoundError:org / apache / commons / logging / LogFactory