Я определяю некоторые bean-компоненты в resources.xml для моего приложения grails-groovy следующим образом:
<beans>
<bean id="reportManager" class="gra.reports.ReportManagerImpl">
<property name="reportLocation" value="c://reports//"/>
<property name="reportDefinitions">
<map>
<entry key="userTransactionReport">
<ref local="userTransactionReport"/>
</entry>
</map>
</property>
<property name="parameterCodeMap">
<bean class="org.apache.commons.collections.map.CaseInsensitiveMap">
<constructor-arg>
<map>
<entry key="employeeId" value="1"/>
<entry key="reourceId" value="2"/>
<entry key="eventType" value="3"/>
<entry key="objectName" value="4"/>
<entry key="fromDate" value="5"/>
<entry key="toDate" value="6"/>
</map>
</constructor-arg>
</bean>
</property>
</bean>
<bean id="userTransactionReport" class="gra.Reports">
<property name="reportname" value="User Transaction Report"/>
<property name="reportxml" value="UserTransactionReport.jrxml"/>
<property name="paramexists" value="TRUE"/>
<property name="paramMap">
<map>
<entry key="employeeid" value="1">
</entry>
</map>
</property>
</bean>
</beans>
Я обращаюсь к первому bean-компоненту в моем контроллере как def reportManager;
и затем я пытаюсь сделать def required_report = reportManager.reportDefinitions.get ('userTransactionReport');
Я получаю сообщение об ошибке «Не удается получить свойство reportDefinition для нулевого объекта, что означает, что ReportManager имеет значение null.
У меня есть ReportManagerImpl, определенный по следующему пути:
package gra.reports
class ReportManagerImpl {
String reportLocation;
def reportDefinitionsMap;
def parameterCodeMap;
}
Нужно ли где-нибудь создавать экземпляр компонента?
Благодаря.
Priyank