Я использую groovy-grails с отчетами о яшме для разработки приложения.Мне нужно найти «bean-компонент отчета» на основе его параметра (например, имя отчета / идентификатор, извлеченный из базы данных, который я получу по щелчку клиента) - который будет сохранен как свойство bean-компонента отчета из resources.xml либо в reportcontroller, либо в reportservice,Также мне нужно «получить» шаблон jrxml, связанный с этим идентификатором и параметром Map, оба определены как свойства в bean-компоненте.Мне нужно знать, например, как мы можем достичь этого, и нужно ли нам определять какие-либо «управляющие компоненты» в xml, которые управляют этими компонентами отчета.Так, например, bean-компонент отчета будет выглядеть следующим образом:
<bean id="DeptReport" class="com.myapp.reporting.domain.Report">
<property name="reportName" value="Dept Report"/>
<property name="reportFiles">
<map>
<entry key="JasperPrint" value="DeptRoles.jrxml"/>
</map>
</property>
<property name="promptforparameter" value="true"/>
<property name="parameter" value="department_id"/>
<property name="displayName" value="report.deptReport.name"/>
</bean>
Будет много таких бинов.
Кроме того, файл .jrxml для всех отчетов хранится в каталоге, и яЯ хочу связать это местоположение с контекстом отчетности, чтобы при щелчке отчета во внешнем интерфейсе я искал эти значения из контекста в сервисе / контроллере отчетов для генерации отчета.Я знаю, что мы должны где-то делать ctx.getbean (reportId), но я также хочу знать, как настроить bean-компонент менеджера с некоторыми другими свойствами, такими как расположение шаблона, источник данных, карта параметров, reportid и объект jasperreportrenderrer.Таким образом, этот компонент ReportManager загружается многократно при каждом вызове другого отчета и в идеале сохраняется в сеансе пользователя.