Jasper reports 如何在Jasper服务器中部署Jaspersoft Bean数据源?
谁能帮我一步一步地在Jaspersoft服务器中添加Bean数据源(Bean集合)吗?是否有一个直接的过程来推送JAR文件以便服务器能够识别它 以下是我所做的步骤(简化名称) 工作室内项目Jasper reports 如何在Jasper服务器中部署Jaspersoft Bean数据源?,jasper-reports,jasperserver,jaspersoft-studio,Jasper Reports,Jasperserver,Jaspersoft Studio,谁能帮我一步一步地在Jaspersoft服务器中添加Bean数据源(Bean集合)吗?是否有一个直接的过程来推送JAR文件以便服务器能够识别它 以下是我所做的步骤(简化名称) 工作室内项目 创建一个名为Person的Javabean,其中包含字段和getter/setter 创建一个简单的Java类,该类连接到名为com.company.test.PersonFactory的数据库,它有一个方法generator(),返回一个列表,它使用简单的jdbc调用,这两个类都在我的Jasper项目中
- 创建一个名为Person的Javabean,其中包含字段和getter/setter
- 创建一个简单的Java类,该类连接到名为com.company.test.PersonFactory的数据库,它有一个方法generator(),返回一个列表,它使用简单的jdbc调用,这两个类都在我的Jasper项目中
- 创建了名为testBean的数据适配器,并在工厂中输入com.company.test.PersonFactory作为工厂类,输入generator作为静态方法
- 创建一个新的jasper报告(testReport1),并使用数据适配器testBean,单击JavaBean选项卡,输入Person作为类名,添加所有字段,验证数据预览,然后保存
- 创建一个新的数据源>数据源Bean,输入bean1作为名称和id
- 在Bean名称和Bean方法页面,选择import from Jaspersoft Studio并选择testBean,单击finish
- 验证Jaspersoft Studio中的数据预览是否正常后,在Jasper服务器中发布报告
- 选择bean1数据源并发布
谢谢我在第一个问题一周后解决了这个问题。我只想分享答案: jaspersoft Bean数据源应该通过实现ReportDataSourceService的类进行访问 然后,它应该有一个私有变量
private JRBeanCollectionDataSource dataSource;
此外,还需要重写2个方法
@Override
public void closeConnection() {
// TODO Auto-generated method stub
}
@Override
public void setReportParameterValues(Map parameterMap) {
parameterMap.put(JRParameter.REPORT_DATA_SOURCE, dataSource);
}
然后,从Jasper服务器,您需要定义工厂类,该工厂类调用您创建的ReportDataSourceService实现类的构造函数,同时返回ReportDataSourceService类型您需要按照“JasperReports服务器管理指南”中“Bean数据源”一章中的说明进行操作。这意味着您需要在服务器的WEB-INF/lib中部署一个带有类的JAR,并编辑一些Spring文件来声明您的bean数据源。