gpt4 book ai didi

spring - 通过grails中的自定义报告上下文连接Spring bean

转载 作者:行者123 更新时间:2023-12-02 15:37:40 25 4
gpt4 key购买 nike

我在基于Grails的Web应用程序中使用Jasper Reports,并且有一个ReportingContext.xml,其中包含每个报表的bean,例如带有报表模板(jrxml)的报表ID /名称映射。我需要了解配置和设置上下文xml的基本步骤,以及如何在应用程序启动时将它们加载到我的reportscontroller中。

旧的应用程序位于使用此报告xml的java / j2ee中。我们必须在grails上开发类似的系统。

大多数上下文包含用于报告名称映射的jrxml,但是我无法理解上下文中的某些bean。

这是报告context.xml的样本内容,适用于1个报告

 <beans> 
<!-- ========================= REPORTING SERVICE WRAPPER ========================= -->
<bean parent="baseTransactionProxy" name="myReportingService">
<property name="proxyInterfaces" value="com.pack.my.reporting.service.myReportingService"/>
<property name="transactionAttributes">
<property name="target">
<bean parent="baseServiceSupport" class="com.pack.my.reporting.service.impl.myReportingServiceImpl">
<property name="reportManager" ref="reportManager"/>
<property name="mySecurityService" ref="mySecurityService"/>
<property name="businessUnitService" ref="businessUnitService"/>
</bean>
</property>
</bean>
<bean class="com.pack.my.reporting.manager.impl.ReportManagerImpl" id="reportManager">
<property name="reportRenderers">
<map>
<entry key="JasperPrint">
<entry key="siemJasperPrint">
</map>
</property>
<property name="reportDefinitionDao" ref="reportDefinitionDao"/>
<property name="reportDao" ref="reportDao"/>
<property name="sequenceGeneratorService" ref="sequenceGeneratorService"/>
<property name="reportLocation" value="file:${my_HOME}/reports"/>
<property name="reportDefinitions">
<map>
<entry key="businessUnitRoles">
<ref local="businessUnitRoles"/>
</entry>
<entry key="businessUnitRoleUsers">
<ref local="businessUnitRoleUsers"/>
</entry>
</map>
</property>
<property name="parameterPromptCodeMap">
<bean class="org.apache.commons.collections.map.CaseInsensitiveMap">
<constructor-arg>
<map>
<entry value="1" key="businessUnit"/>
<entry value="1" key="businessUnitKey"/>
<entry value="2" key="globaluser"/>
<entry value="2" key="USERID"/>
<entry value="2" key="USER_ID"/>
<entry value="2" key="GLOBALUSERKEY"/>
<entry value="3" key="identityCertification"/>
<entry value="3" key="CERTIFICATIONID"/>
<entry value="3" key="CERTIFICATION_ID"/>
<entry value="4" key="startDate"/>
</map>
</constructor-arg>
</bean>
</property>
</bean>
<!--- Report Groups Business Unit reports Group 1 Users reports -->
<bean class="com.pack.my.reporting.domain.ReportDefinition" id="businessUnitRoles">
<property name="reportName" value="Business Unit Roles Report"/>
<property name="reportFiles">
<map>
<entry value="BusinessUnitRoles.jrxml" key="JasperPrint"/>
</map>
</property>
<property name="promptForBusinessUnit" value="true"/>
<property name="reportGroup" value="1"/>
<property name="displayName" value="report.businessUnitRoles.name"/>
<bean class="com.pack.my.reporting.domain.ReportDefinition" id="businessUnitUsers">

</bean>
</beans>

最佳答案

  • 将依赖项添加到grails-app / conf / BuildConfig.groovy
  • 将以上文件复制到/grails-app/conf/spring/resources.xml
  • 阅读Grails and Spring - Reference Documentation

  • 缺省情况下不再构建resources.xml,因为spring目录中仅存在resources.groovy。只需将您的spring上下文文件复制到resources.xml。

    关于spring - 通过grails中的自定义报告上下文连接Spring bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7746763/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com