2013-02-16 3 views
0

Итак, я создал простое приложение CRUD, использующее groovy на grails, и я хочу использовать плагин отчетности jasper для получения простых отчетов в базе данных. Я создал простой G: выберите, чтобы выбрать из выпадающего списка, и нажав на значок PDF, я возвращаю пустую страницу. GSP нижеНевозможно передать переменный параметр в отчет jasper

<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"> 

идеи ????

ответ

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} возвращает строковое значение, иначе отчет будет использовать DefaultValue из artist параметра, который может испортить ваш запрос.

+0

Я боюсь, что это не сработало, что вы имели в виду под «Также убедитесь, что $ {artist} возвращает строковое значение« select имеет ряд строк, но я не уверен, как передать их яшме отчет. – user1854751

+0

Ваша проблема в том, что вы получаете пустую страницу справа. Я говорю, возможно, значение вашего скрытого текстового поля, которое является '$ {artist}', не является вашим желаемым значением, поэтому вы получаете пустую страницу (потому что вы используете ее в запросе вашего отчета). Потому что с точки зрения передачи параметра jasperreport, я думаю, что ваш код действителен. – Bnrdo

+0

, в какой момент мой g: выберите на самом деле проблему в том, что она не передает требуемый параметр? Я думаю, что моя проблема в том, что я не могу ничего передать. выбор появляется как выпадающее сообщение, но в решающей степени даже я создаю кнопку отправки, никакое значение фактически не фиксируется. – user1854751

Смежные вопросы