1

Grailsアプリケーションでjasperレポートを表示しなければならないという問題があります。アプリケーションで、次のコマンドを使用してjasperプラグインをインストールしました。次のコンテキストでgrails> install-plugin jasper 作成しました。sample.jrxml

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="student" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
    <property name="ireport.zoom" value="1.2100000000000002"/>
    <property name="ireport.x" value="0"/>
    <property name="ireport.y" value="0"/>
    <background>
        <band splitType="Stretch"/>
    </background>
    <title>
        <band height="79" splitType="Stretch">
            <staticText>
                <reportElement x="181" y="0" width="212" height="37"/>
                <textElement textAlignment="Center">
                    <font size="24"/>
                </textElement>
                <text><![CDATA[Portal Student List]]></text>
            </staticText>
        </band>
    </title>
    <columnHeader>
        <band height="26"/>
    </columnHeader>
    <detail>
        <band height="98" splitType="Stretch"/>
    </detail>
    <columnFooter>
        <band height="43" splitType="Stretch"/>
    </columnFooter>
    <pageFooter>
        <band height="54" splitType="Stretch">
            <staticText>
                <reportElement x="238" y="0" width="100" height="20"/>
                <textElement textAlignment="Center"/>
                <text><![CDATA[Copyright]]></text>
            </staticText>
        </band>
    </pageFooter>
</jasperReport>

そして、Jasperタグを使用してレポートを呼び出すか、<g:jasperReport jasper="student" format="PDF"/>次のコードを使用して.pdfファイルをブラウザーに直接表示する新しいクロージャーを作成しています。

def report() {
        def reportDef = new JasperReportDef(folder: 'reports', name:'student.jrxml', fileFormat: JasperExportFormat.PDF_FORMAT)
        reportDef.contentStream = jasperService.generateReport(reportDef)

        response.contentType = reportDef.fileFormat.mimeTyp
        response.characterEncoding = 'UTF-8'
        response.outputStream << reportDef.contentStream.toByteArray()
}

使用されるいずれかの方法は、単一の空白ページを返します。

この問題を解決するにはどうすればよいですか?

ありがとう

4

1 に答える 1

0

ここで提供されているJasper自体によって提供された例を伴って、このリンクでGrailsによって提供されているチュートリアルに解決する必要があるかもしれません。

于 2012-07-02T07:42:31.730 に答える