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

我可能必须解决此链接中 Grails 提供的教程以及 Jasper 本身在此处提供的示例。

于 2012-07-02T07:42:31.730 回答