在jasper报告中使用spring bean

时间:2014-08-27 15:16:07

标签: java spring jasper-reports javabeans

我有一个春天的豆子:

<bean 
    id="my.package.CustomerWrapper" 
    class="my.package.CustomerWrapper">

    <property name="customerWrapperCache" ref="customerWrapperCache"></property>
</bean>

在jrxml中:

<variable name="a_Info" class="java.lang.String" resetType="None">
    <variableExpression><![CDATA[my.package.CustomerWrapper.lookupWithMainAddress($P{cust_id}, "informationLine")]]></variableExpression>
</variable>

但这会引发NullPointerException,因为customerWrapperCache为null。

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

JasperReports没有使用由Spring管理的CustomerWrapper bean,它正在创建一个新实例,这就是customerWrapperCache为空的原因;

要在Jasper报告中使用Spring bean,您需要将bean作为参数传递给报告。请参阅Spring Reference站点上的Jasper Reports - Populating Model and View