无法将变量参数传递给jasper报告

时间:2013-02-16 16:41:06

标签: grails groovy jasper-reports gsp jasper-plugin

所以,我在grails上使用groovy创建了一个简单的CRUD应用程序,我想使用jasper报告插件来获取有关数据库的简单报告。我已经设置了一个简单的G:选择从下拉列表中选择,然后点击PDF图标我将带回一个空白页面。 gsp在

之下
<div id="page-body" role="main">
<p>Please select one of the following options</p>
<div>
<g:select optionKey="id" 
optionValue="artist" 
name="artist" 
id="MusicCatalogue" 
value="${artist}" 
from="${multicatalogue.MusicCatalogue.list()}">
</g:select>
</div>
<div> <g:jasperReport jasper="report1" format="PDF" name="Music Catalogue" />
<input type="hidden" name="artist" value="${artist}" />
</div>
</div>

然后jrxml看起来像下面的

<parameter name="artist" isForPrompting="true" class="java.lang.String">
    <defaultValueExpression><![CDATA["<parameter error>"]]></defaultValueExpression>
    </parameter>
    <queryString language="SQL">
        <![CDATA[SELECT   *
    FROM
    MusicCatalogue where ARTIST = $P{artist}]]>
    </queryString>
    <field name="ID" class="java.lang.Integer"/>
    <field name="ALBUM" class="java.lang.String"/>
    <field name="ARTIST" class="java.lang.String"/>
    <field name="TRACK" class="java.lang.String"/>
    <group name="ARTIST">

想法????

1 个答案:

答案 0 :(得分:0)

尝试替换

<g:jasperReport jasper="report1" format="PDF" name="Music Catalogue" />
<input type="hidden" name="artist" value="${artist}" />

使用

<g:jasperReport jasper="report1" format="PDF" name="Music Catalogue">
<input type="hidden" name="artist" value="${artist}" />
</g:jasperReport>

另外,请确保${artist}返回字符串值,否则报告将使用可能破坏您查询的artist参数的defaultValue。