0

単純なJasperレポートと、jasperプラグインを使用してレポートを生成するGrailsアプリがあります。レポートには、デフォルト値のパラメーターがあります。たとえば、その名前は次のとおりですuser_id。レポートを印刷すると、デフォルト値が使用され、結果は問題ありません。

ここで、自分のパラメーター値をレポートに渡せるようにしたいと思います。レポートを取得するために使用するコードは次のとおりです。

import org.codehaus.groovy.grails.plugins.jasper.JasperExportFormat
import org.codehaus.groovy.grails.plugins.jasper.JasperReportDef
...
{   
    // def user_id = 1
    def reportDef = new JasperReportDef(name:'iResume.jasper', fileFormat:JasperExportFormat.DOCX_FORMAT)
    def file = jasperService.generateReport(reportDef).toByteArray()
}

たとえばuser_id、レポートにパラメータを渡すにはどうすればよいですか?

4

1 に答える 1

0

最終的にこのコードでそれを行うことができました:

    params.put("_file", "iResume.jasper")
    params.put("_format", "DOCX")
    params.put("user_id", 1)

    println params

    def reportDef = jasperService.buildReportDefinition(params, request.getLocale(), [])
    def file = jasperService.generateReport(reportDef).toByteArray()

これは、Jaspertaglibとコントローラーコードから取得しました。これは一種のブードゥープログラミングです。最後のパラメータが何のためにあるのかわかりません[]が、機能します。誰かがここで何が起こっているのかを明確にすることができればありがたいです。

于 2013-03-27T10:17:21.290 に答える