开发者

Relative path for the Subreport

开发者 https://www.devze.com 2023-01-09 03:33 出处:网络
I\'m working with iReport 3.5.0, and I\'m using a subreport inside my main report. I don\'t want to give the absolute path for the subreport expression, but for example if I just give \"bpSubReport.ja

I'm working with iReport 3.5.0, and I'm using a subreport inside my main report. I don't want to give the absolute path for the subreport expression, but for example if I just give "bpSubReport.jasper" as the subreport expression (because sub and main are in the same directory), then iReport can find bpSubReport.jasper and compile the main report into bPReport.jasper, but my Java (gwt) application can't. It throws the exception

net.sf.jasperreports.engine.JRException: Could not load object from location : bpSubReport.jasper

Can you help me on how to give a relative path for the 开发者_高级运维subreport and let the Java app. find it as well? Thanks.


Well I got an answer.

You can't. You can't use relative paths for your subreports. You may try to compile the .jrxml files at runtime or something, but relative paths don't seem to work for the projects with external servers or file systems.


You can use:

Map paramater = new Hasmap();
paramater.put("SUBREPORT_DIR",source);// source is path your subreport


Keep all your jrxml in reports folder under resources(in classpath).

Parameter created :

<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
        <defaultValueExpression><![CDATA["reports/"]]></defaultValueExpression>
    </parameter>

Subreport Element created:

<elementGroup>
                <subreport>
                    <reportElement uuid="60c50685-03c7-452b-b37a-dda4a2092d18" positionType="Float" mode="Transparent" x="15" y="567" width="517" height="200" isRemoveLineWhenBlank="true" backcolor="#FFFFFF"/>
                    <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource(yourList)]]></dataSourceExpression>
                    <subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "your_subreport.jasper"]]></subreportExpression>
                </subreport>
            </elementGroup>
0

精彩评论

暂无评论...
验证码 换一张
取 消