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