西甲巴萨直播:Eclipse BIRT Script Data Source示例K
来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 12:01:51
1. 复合JavaBean数据源
1.1 说明
在使用Eclipse BIRT进行报表开发时,会遇到使用复合型的JavaBean作为数据源的情况,例如Contact对象有一个Address类型的对应address,而Address对象又具有两个属性,分别为addressId和addressName,在此种情况下应该使用Eclipse BIRT提供的“Script Data Source”进行数据源。如下将通过实例展现在Eclipse BIRT中如何使用复合JavaBean作为数据源。
所用环境说明:
l IDE环境:birt-report-designer-all-in-one-2_2_1_1;、
l Tomcat:5.5.27;
l Eclipse BIRT版本:2.2.1
l birt-runtime-2_2_1_1。
1.2 开发实例
1.2.1 在Java工程中创建复合JavaBean类Contact.java
在集成了BIRT的Eclipse中建立Java工程:birtJavaProject,并建立amigo.report包,并在该包下建立复合JavaBean的类:Contact.java,该类的代码如下所示:
package amigo.report;
public class Contact {
private String firstName;
private String lastName;
private String phoneNum;
private Address address;
public Contact(
String firstName, String lastName,
String phoneNum, Address address){
this.firstName = firstName;
this.lastName = lastName;
this.phoneNum = phoneNum;
this.address = address;
}
// 省略getter/setter方法
}
1.2.2 在Java工程创建复合JavaBean的关联JavaBean类Address.java
接下来在amigo.report包下建立Contact类关联的JavaBean类,代码如下所示:
package amigo.report;
public class Address {
private String addressId;
private String addressName;
public Address(String addressId, String addressName) {
this.addressId = addressId;
this.addressName = addressName;
}
// 省略getter/setter方法
}
1.2.3 在Java工程中创建数据工厂类ContactListFactory.java
在Java工程中还需要创建制造数据的工程类:ContactListFactory.java,该类的代码如下所示:
package amigo.report;
/** *//**
* 数据制造工厂类.
* @author AmigoXie(xieingxing1121@126.com)
*/
public class ContactListFactory {
public Contact[] createContactList(){
Contact[] c = new Contact[10];
Address address1 = new Address("1", "address1");
Address address2 = new Address("2", "address2");
Address address3 = new Address("3", "address3");
Address address4 = new Address("4", "address4");
c[0] = new Contact("stavros", "kounis", "2310886269", address1);
c[1] = new Contact("dimitris", "kounis", "2310888270", address2);
c[2] = new Contact("dimitris", "adamos", "2310998417", address3);
c[3] = new Contact("nikos", "koufotolis", "2321013770", address4);
c[4] = new Contact("谢", "星星", "1399998383", address1);
c[5] = new Contact("阿", "蜜果", "13535353", address1);
c[6] = new Contact("test0", "test00", "1388996969", address1);
c[7] = new Contact("test1", "test11", "33333", address3);
c[8] = new Contact("test2", "test22", "44444", address2);
c[9] = new Contact("test3", "test33", "66666", address3);
return c;
}
}
截至此步,Java源码已经编写完毕,余下的工作是做报表编程。
1.2.4 创建报表工程
在开发环境中选择“New”-> “Project”,如下所示:
在弹出对话框选择“Bussiness Intelligence…” -> “Report Project”,如下图所示:
而后点击“Next >”,在弹出对话框中输入报表工程的名称“birtreport”后,点击“Finish”按钮完成报表工程的创建。
1.2.5 创建报表
选择报表工程“birtreport”后点击右键,选择“New” –> “Report”,如下图所示:
在弹出窗口中输入报表的名称:helloBirt.rptdesign,点击“Finish”按钮完成报表的创建。
1.2.6 创建Scripted数据源
使用JavaBean作为数据源,需要创建Script数据源。首先打开“Data Explorer”视图,(若该视图被关闭,请使用“Show View”打开)。在“Data Explorer”中选择“Data Sources”->“New Data Source”,如下图所示:
创建数据源的弹出窗口如下图所示:
在上述窗口中选择“Scripted Data Source”,在“Data Source Name”中输入数据源的名字,例如“Data Source”,点击“Finish”按钮完成数据源的创建。
1.2.7 创建数据集
在“Data Explorer”视图中点击“Data Sets”->“New Data Set”,弹出窗口如下所示:
在“Data Set Name”中输入数据集的名称,例如“Data Set”,在“Data Source”中选择刚才创建的Scripted数据源,而后点击“Next >”按钮,输入列名和显示名称等信息,窗口如下所示:
1.2.8 编写数据访问脚本
打开“helloBirt.rptdesign”,切换到“Script”,在“Data Explorer”视图中选择刚才创建的数据集,open对应的脚本如下所示:
count = 0;
cf = new Packages.amigo.report.ContactListFactory();
c = cf.createContactList();
对应图形如下所示:
在“Script”的下拉框中选择“fetch”,对应的脚本如下所示:
if (count <= c.length - 1){
row["firstName"] = c[count].getFirstName();
row["lastName"] = c[count].getLastName();
row["phoneNum"] = c[count].getPhoneNum();
row["addressId"] = c[count].getAddress().getAddressId();
row["addressName"] = c[count].getAddress().getAddressName();
count ++;
return true;
}
1.2.9 设计报表视图
视图中选择layout,简单的将我们建立的data set 拖到报表视图中即可,完成这步以后可以在preview中查看预览效果了。
1.2.10 部署与浏览
将birt-runtime-2_2_1_1目录下的WebViewerExample工程拷贝到Tomcat的webapps下面,并将helloBirt.rptdesign报表文件拷贝到Tomcat根目录/webapps/WebViewerExample工程下。
接着在:Tomcat根目录/webapps/WebViewerExample/WEB-INF目录下建立classes子目录,存放Java工程中的三个类文件对应的class文件,将birtJavaProject/bin下的amigo目录整个拷贝到Tomcat根目录/webapps/WebViewerExample/WEB-INF/classes目录,完成报表文件的部署。
访问地址为:
http://localhost:8080/WebViewerExample/frameset?__report=helloBirt.rptdesign
在浏览器的运行效果图如下所示:
2. 对JavaBean数据源的数据进行分组
2.1 说明
在复合JavaBean作为数据源的实例中,展示了如何进行复合JavaBean数据的展示,但是在某些情况下,需要对JavaBean进行分组显示,本实例将展示如何对JavaBean数据源进行分组显示。
2.2 开发实例
2.2.1 创建报表
在报表工程中创建报表groupByReport.rptdesign,创建方式与上例一样。
2.2.2 创建数据源和数据集
因为该实例的数据源和数据集与上例相同,只需要在“Data Explorer”视图中将数据源和数据集拷贝到本实例即可,编写的数据访问脚本和设计的报表也与上例一样。
2.2.3 对数据进行分组
接下来将向读者展示如何按照addressId对数据进行分组,首先在“Layout”中选择table后,点击右键,选择“Insert Group”-> “Above”,如下所示:
弹出的新建分组的窗口如下所示,在窗口中输入分组的名称,例如:addressIdGroup,在“Group on”中选择“addressId”,在“Interval”中选择“Interval”,在“Range”中输入1,如下图所示:
在上图中点击“OK”按钮完成分组的创建。
2.2.4 部署与浏览
部署的方法与上例相似,访问地址为:
http://localhost:8080/WebViewerExample/frameset?__report=groupByReport.rptdesign
运行效果如下图所示:
3. 将BIRT集成到现有Web项目中
3.1 说明
在上面的实例中,将报表和相关的类文件放在BIRT对应的Web项目WebViewerExample中来进行报表的查看和浏览,但是在实际的开发过程中,已经有Web项目,将报表的部分部署到WebViewerExample项目,而其它的部分部署到另一个Web项目,显然不太合适,本实例讲解如何将BIRT集成到现有的Web项目中,并进行报表的查看。
参考文章:http://blog.csdn.net/bjd14/archive/2006/12/25/1458947.aspx
3.2 集成实例
3.2.1 新建项目的Web工程
在MyEclipse新建一个Web Project,名为reportintegration,将上例中的amigo.report包以及其下的所有三个类(Contact.java、Address.java和ContactListFactory.java)拷贝到src目录下。并将helloBirt.rptdesign和groupByReport.rptdesign两个报表文件拷贝到WebRoot目录下。
3.2.2 拷贝BIRT的Web项目WebViewerExample的文件
打开Tomcat下的WebViewerExample项目,其目录结构如下图所示:
将该目录下的两个子目录report和webcontent拷贝到工程的WebRoot目录下。
接下来进入WebViewerExample"WEB-INF目录,目录结构如下所示:
将lib、platform和tlds三个子目录拷贝到Web工程的WebRoot"WEB-INF目录,并拷贝server-config.wsdd、viewer.properties和web.xml三个文件。到此所有文件都拷贝完毕。Web工程的结构如下图所示:
lib目录的结构如下图所示:
3.2.3 部署与浏览
部署reportintegration到Tomcat下,启动成功后,访问路径类似如下所示:
http://localhost:8080/reportintegration/frameset?__report=groupByReport.rptdesign
运行效果与上例一样,不再赘述。
3.2.4 访问参数说明
在访问时,路径实例如下所示:
http://localhost:8080/reportintegration/frameset?__report=groupByReport.rptdesign
其中”__report”表示访问的报表文件的路径,若将groupByReport.rptdesign报表文件拷贝到WebRoot/report目录下,则访问路径变成:
http://localhost:8080/reportintegration/frameset?__report=report/groupByReport.rptdesign
其它访问参数的说明如下所示:
选项
说明
__format
报表输出格式:html或pdf,缺省是html。对于frameset不起作用。
__isnull
指明一个参数是null,常用于字符串类型。如果提供参数且值为空: - 对于日期和数字类型,BIRT会将它们当作null处理。 - 对于字符串,BIRT会将它作为空字符串。因此,为了说明某个字符串是null,通常写为:__isnull=参数。
__locale
本地化选项,缺省是jvm的locale。
__report
报表设计文件路径。
报表参数
报表参数参数值对,形式:参数名=参数值。对于frameset,直接在地址栏中输入参数名=参数值后回车,不会影响报表结果。虽然,此时选择"运行报表"时,弹出的参数值已经改变。
posted on 2009-05-03 12:11
1.1 说明
在使用Eclipse BIRT进行报表开发时,会遇到使用复合型的JavaBean作为数据源的情况,例如Contact对象有一个Address类型的对应address,而Address对象又具有两个属性,分别为addressId和addressName,在此种情况下应该使用Eclipse BIRT提供的“Script Data Source”进行数据源。如下将通过实例展现在Eclipse BIRT中如何使用复合JavaBean作为数据源。
所用环境说明:
l IDE环境:birt-report-designer-all-in-one-2_2_1_1;、
l Tomcat:5.5.27;
l Eclipse BIRT版本:2.2.1
l birt-runtime-2_2_1_1。
1.2 开发实例
1.2.1 在Java工程中创建复合JavaBean类Contact.java
在集成了BIRT的Eclipse中建立Java工程:birtJavaProject,并建立amigo.report包,并在该包下建立复合JavaBean的类:Contact.java,该类的代码如下所示:
package amigo.report;
public class Contact {
private String firstName;
private String lastName;
private String phoneNum;
private Address address;
public Contact(
String firstName, String lastName,
String phoneNum, Address address){
this.firstName = firstName;
this.lastName = lastName;
this.phoneNum = phoneNum;
this.address = address;
}
// 省略getter/setter方法
}
1.2.2 在Java工程创建复合JavaBean的关联JavaBean类Address.java
接下来在amigo.report包下建立Contact类关联的JavaBean类,代码如下所示:
package amigo.report;
public class Address {
private String addressId;
private String addressName;
public Address(String addressId, String addressName) {
this.addressId = addressId;
this.addressName = addressName;
}
// 省略getter/setter方法
}
1.2.3 在Java工程中创建数据工厂类ContactListFactory.java
在Java工程中还需要创建制造数据的工程类:ContactListFactory.java,该类的代码如下所示:
package amigo.report;
/** *//**
* 数据制造工厂类.
* @author AmigoXie(xieingxing1121@126.com)
*/
public class ContactListFactory {
public Contact[] createContactList(){
Contact[] c = new Contact[10];
Address address1 = new Address("1", "address1");
Address address2 = new Address("2", "address2");
Address address3 = new Address("3", "address3");
Address address4 = new Address("4", "address4");
c[0] = new Contact("stavros", "kounis", "2310886269", address1);
c[1] = new Contact("dimitris", "kounis", "2310888270", address2);
c[2] = new Contact("dimitris", "adamos", "2310998417", address3);
c[3] = new Contact("nikos", "koufotolis", "2321013770", address4);
c[4] = new Contact("谢", "星星", "1399998383", address1);
c[5] = new Contact("阿", "蜜果", "13535353", address1);
c[6] = new Contact("test0", "test00", "1388996969", address1);
c[7] = new Contact("test1", "test11", "33333", address3);
c[8] = new Contact("test2", "test22", "44444", address2);
c[9] = new Contact("test3", "test33", "66666", address3);
return c;
}
}
截至此步,Java源码已经编写完毕,余下的工作是做报表编程。
1.2.4 创建报表工程
在开发环境中选择“New”-> “Project”,如下所示:
在弹出对话框选择“Bussiness Intelligence…” -> “Report Project”,如下图所示:
而后点击“Next >”,在弹出对话框中输入报表工程的名称“birtreport”后,点击“Finish”按钮完成报表工程的创建。
1.2.5 创建报表
选择报表工程“birtreport”后点击右键,选择“New” –> “Report”,如下图所示:
在弹出窗口中输入报表的名称:helloBirt.rptdesign,点击“Finish”按钮完成报表的创建。
1.2.6 创建Scripted数据源
使用JavaBean作为数据源,需要创建Script数据源。首先打开“Data Explorer”视图,(若该视图被关闭,请使用“Show View”打开)。在“Data Explorer”中选择“Data Sources”->“New Data Source”,如下图所示:
创建数据源的弹出窗口如下图所示:
在上述窗口中选择“Scripted Data Source”,在“Data Source Name”中输入数据源的名字,例如“Data Source”,点击“Finish”按钮完成数据源的创建。
1.2.7 创建数据集
在“Data Explorer”视图中点击“Data Sets”->“New Data Set”,弹出窗口如下所示:
在“Data Set Name”中输入数据集的名称,例如“Data Set”,在“Data Source”中选择刚才创建的Scripted数据源,而后点击“Next >”按钮,输入列名和显示名称等信息,窗口如下所示:
1.2.8 编写数据访问脚本
打开“helloBirt.rptdesign”,切换到“Script”,在“Data Explorer”视图中选择刚才创建的数据集,open对应的脚本如下所示:
count = 0;
cf = new Packages.amigo.report.ContactListFactory();
c = cf.createContactList();
对应图形如下所示:
在“Script”的下拉框中选择“fetch”,对应的脚本如下所示:
if (count <= c.length - 1){
row["firstName"] = c[count].getFirstName();
row["lastName"] = c[count].getLastName();
row["phoneNum"] = c[count].getPhoneNum();
row["addressId"] = c[count].getAddress().getAddressId();
row["addressName"] = c[count].getAddress().getAddressName();
count ++;
return true;
}
1.2.9 设计报表视图
视图中选择layout,简单的将我们建立的data set 拖到报表视图中即可,完成这步以后可以在preview中查看预览效果了。
1.2.10 部署与浏览
将birt-runtime-2_2_1_1目录下的WebViewerExample工程拷贝到Tomcat的webapps下面,并将helloBirt.rptdesign报表文件拷贝到Tomcat根目录/webapps/WebViewerExample工程下。
接着在:Tomcat根目录/webapps/WebViewerExample/WEB-INF目录下建立classes子目录,存放Java工程中的三个类文件对应的class文件,将birtJavaProject/bin下的amigo目录整个拷贝到Tomcat根目录/webapps/WebViewerExample/WEB-INF/classes目录,完成报表文件的部署。
访问地址为:
http://localhost:8080/WebViewerExample/frameset?__report=helloBirt.rptdesign
在浏览器的运行效果图如下所示:
2. 对JavaBean数据源的数据进行分组
2.1 说明
在复合JavaBean作为数据源的实例中,展示了如何进行复合JavaBean数据的展示,但是在某些情况下,需要对JavaBean进行分组显示,本实例将展示如何对JavaBean数据源进行分组显示。
2.2 开发实例
2.2.1 创建报表
在报表工程中创建报表groupByReport.rptdesign,创建方式与上例一样。
2.2.2 创建数据源和数据集
因为该实例的数据源和数据集与上例相同,只需要在“Data Explorer”视图中将数据源和数据集拷贝到本实例即可,编写的数据访问脚本和设计的报表也与上例一样。
2.2.3 对数据进行分组
接下来将向读者展示如何按照addressId对数据进行分组,首先在“Layout”中选择table后,点击右键,选择“Insert Group”-> “Above”,如下所示:
弹出的新建分组的窗口如下所示,在窗口中输入分组的名称,例如:addressIdGroup,在“Group on”中选择“addressId”,在“Interval”中选择“Interval”,在“Range”中输入1,如下图所示:
在上图中点击“OK”按钮完成分组的创建。
2.2.4 部署与浏览
部署的方法与上例相似,访问地址为:
http://localhost:8080/WebViewerExample/frameset?__report=groupByReport.rptdesign
运行效果如下图所示:
3. 将BIRT集成到现有Web项目中
3.1 说明
在上面的实例中,将报表和相关的类文件放在BIRT对应的Web项目WebViewerExample中来进行报表的查看和浏览,但是在实际的开发过程中,已经有Web项目,将报表的部分部署到WebViewerExample项目,而其它的部分部署到另一个Web项目,显然不太合适,本实例讲解如何将BIRT集成到现有的Web项目中,并进行报表的查看。
参考文章:http://blog.csdn.net/bjd14/archive/2006/12/25/1458947.aspx
3.2 集成实例
3.2.1 新建项目的Web工程
在MyEclipse新建一个Web Project,名为reportintegration,将上例中的amigo.report包以及其下的所有三个类(Contact.java、Address.java和ContactListFactory.java)拷贝到src目录下。并将helloBirt.rptdesign和groupByReport.rptdesign两个报表文件拷贝到WebRoot目录下。
3.2.2 拷贝BIRT的Web项目WebViewerExample的文件
打开Tomcat下的WebViewerExample项目,其目录结构如下图所示:
将该目录下的两个子目录report和webcontent拷贝到工程的WebRoot目录下。
接下来进入WebViewerExample"WEB-INF目录,目录结构如下所示:
将lib、platform和tlds三个子目录拷贝到Web工程的WebRoot"WEB-INF目录,并拷贝server-config.wsdd、viewer.properties和web.xml三个文件。到此所有文件都拷贝完毕。Web工程的结构如下图所示:
lib目录的结构如下图所示:
3.2.3 部署与浏览
部署reportintegration到Tomcat下,启动成功后,访问路径类似如下所示:
http://localhost:8080/reportintegration/frameset?__report=groupByReport.rptdesign
运行效果与上例一样,不再赘述。
3.2.4 访问参数说明
在访问时,路径实例如下所示:
http://localhost:8080/reportintegration/frameset?__report=groupByReport.rptdesign
其中”__report”表示访问的报表文件的路径,若将groupByReport.rptdesign报表文件拷贝到WebRoot/report目录下,则访问路径变成:
http://localhost:8080/reportintegration/frameset?__report=report/groupByReport.rptdesign
其它访问参数的说明如下所示:
选项
说明
__format
报表输出格式:html或pdf,缺省是html。对于frameset不起作用。
__isnull
指明一个参数是null,常用于字符串类型。如果提供参数且值为空: - 对于日期和数字类型,BIRT会将它们当作null处理。 - 对于字符串,BIRT会将它作为空字符串。因此,为了说明某个字符串是null,通常写为:__isnull=参数。
__locale
本地化选项,缺省是jvm的locale。
__report
报表设计文件路径。
报表参数
报表参数参数值对,形式:参数名=参数值。对于frameset,直接在地址栏中输入参数名=参数值后回车,不会影响报表结果。虽然,此时选择"运行报表"时,弹出的参数值已经改变。
posted on 2009-05-03 12:11
Eclipse BIRT Script Data Source示例K
Using Eclipse - Android Open Source Project
Data Points
Objects (Windows Script Host)
SHREK Script 史莱克剧本
the lion king script
Data Matrix,二维条码Data
Open Source Center
Source Insight 经典教程
Source Insight图片教程
eclipse快捷键
Eclipse快捷键
eclipse快捷键
Eclipse 技巧
Eclipse快捷键
Exec Method (Windows Script Host)
Run Method (Windows Script Host)
Foreign Trade: Data
Real-Time Data Warehousing
Mold Quotation Data Sheet
Oracle/PLSQL: Data Types
Data 数据库连接与查询
(转)Source Insight 经典教程--
(转)Source Insight 经典教程