0
因此,我创建了一个在grails上使用groovy的简单CRUD应用程序,并且我想使用jasper报告插件来获取关于数据库的一些简单报告。我已经设置了一个简单的G:select来从下拉列表中选择,然后点击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">
想法????
我恐怕没有工作,你是什么意思“另外,请确保$ {artist}返回一个字符串值”select有一系列的字符串,但我不知道如何将它们传递给碧玉报告。 – user1854751 2013-02-18 22:09:28
你的问题是你得到一个空白页的权利。我说也许你的隐藏文本字段的价值是'$ {artist}'不是你想要的值,这就是为什么你得到一个空白页面(因为你在报告的查询中使用它)。因为在传递参数给jasperreport方面,我认为你的代码是有效的。 – Bnrdo 2013-02-19 01:37:37
在哪一点是我的g:实际选择问题在于它没有通过所需的参数?我认为我的问题是我无法真正传递任何东西。该选择显示为一个下拉消息,但重要的是,即使我创建一个提交按钮,实际上并没有捕获任何值。 – user1854751 2013-02-19 10:31:28