`

Struts2.1.8+JasperReport3.7.2结合iReport3.7.2报表开发

阅读更多

一、准备
下载iReport3.7.1、JasperReport3.7.1、Struts2.1.8及其他需要的包
如需生成Excel的话,还需导入poi-3.5.jar包。

二、整合Struts2+JasperReport3
1. 新建以下三个pojo类:
Address

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->packagecom.xy.report.pojo;

publicclassAddress{
privateStringcity;
privateStringzipcode;
publicStringgetCity(){
returncity;
}
publicvoidsetCity(Stringcity){
this.city=city;
}
publicStringgetZipcode(){
returnzipcode;
}
publicvoidsetZipcode(Stringzipcode){
this.zipcode=zipcode;
}
}

Company

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->packagecom.xy.report.pojo;

importjava.util.HashSet;
importjava.util.Set;

publicclassCompanyimplementsComparable<Company>{
privateStringname;
privateAddressaddress;
privateSet<Staff>staffs=newHashSet<Staff>();

@Override
publicintcompareTo(Companyo){
returno.getName().compareTo(this.getName());
}

publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicAddressgetAddress(){
returnaddress;
}
publicvoidsetAddress(Addressaddress){
this.address=address;
}
publicSet<Staff>getStaffs(){
returnstaffs;
}
publicvoidsetStaffs(Set<Staff>staffs){
this.staffs=staffs;
}

}

Company中compareTo方法用于在报表中排序。
Staff

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->packagecom.xy.report.pojo;

publicclassStaff{
privateStringname;
privateCompanycompany;

publicStringgetName(){
returnname;
}

publicvoidsetName(Stringname){
this.name=name;
}

publicCompanygetCompany(){
returncompany;
}

publicvoidsetCompany(Companycompany){
this.company=company;
}


}

以上Address是Company的组件,Company与Staff是一对多关系。
2. 新建Action

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->packagecom.xy.report.action;

importjava.util.ArrayList;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;

importcom.opensymphony.xwork2.ActionSupport;
importcom.xy.report.pojo.Address;
importcom.xy.report.pojo.Company;
importcom.xy.report.pojo.Staff;

publicclassDemoActionextendsActionSupport{

privatestaticfinallongserialVersionUID=-5460323122712890562L;

privateList<Staff>list;
privateMap<String,Object>map;

@Override
publicStringexecute(){
list
=getData();
map
=getParameter();

returnSUCCESS;
}

privateList<Staff>getData(){
Addressaddress
=newAddress();
address.setCity(
"上海");
address.setZipcode(
"201400");

Companycompany1
=newCompany();
company1.setName(
"飞利浦");
company1.setAddress(address);
Companycompany2
=newCompany();
company2.setName(
"谷歌");
company2.setAddress(address);

Staffstaff1
=newStaff();
staff1.setName(
"张三");
staff1.setCompany(company1);
Staffstaff2
=newStaff();
staff2.setName(
"李四");
staff2.setCompany(company2);
Staffstaff3
=newStaff();
staff3.setName(
"王五");
staff3.setCompany(company1);

List
<Staff>list=newArrayList<Staff>();
list.add(staff1);
list.add(staff2);
list.add(staff3);

returnlist;
}

privateMap<String,Object>getParameter(){
Map
<String,Object>map=newHashMap<String,Object>();
map.put(
"date","2010-03-12");
returnmap;
}

//getter,setter
publicList<Staff>getList(){
returnlist;
}
publicvoidsetList(List<Staff>list){
this.list=list;
}
publicMap<String,Object>getMap(){
returnmap;
}
publicvoidsetMap(Map<String,Object>map){
this.map=map;
}
}

以上list为提供给报表的数据源,map为提供给报表的参数,如日期范围等。struts.xml配置如下:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<includefile="struts-default.xml"></include>

<!--报表演示-->
<packagename="default"namespace="/reports"extends="struts-default,jasperreports-default">
<actionname="demoReport"class="com.xy.report.action.DemoAction">
<resultname="success"type="jasper">
<paramname="location">/reports/demoReport.jasper</param>
<paramname="dataSource">list</param>
<paramname="format">PDF</param>
<paramname="reportParameters">map</param>
</result>
</action>
</package>
</struts>

location - 提供利用iReport制作编译好的报表文件。
dataSource - 数据源
format - 报表输出格式
reportParameters - 报表参数

三、利用iReport开发报表
1. 新建数据源
打开iReport,点击下图像插头一样的Report Datasources,弹出对象框中New,选择"JavaBeans set datasource"后Next,输入Name为"demo"后Save,如下两图:

分享到:
评论

相关推荐

    struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _01部分

    分为:struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _01部分 struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _02部分 只要将这两个包全下载下来,就可以搭建struts2.1.8 + spring 2.5 + ibatis2整合开发的...

    struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _02部分

    分为:struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _01部分 struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _02部分 只要将这两个包全下载下来,就可以搭建struts2.1.8 + spring 2.5 + ibatis2整合开发的...

    Struts2.1.8+Felix1.4+hibernate集成源码

    Struts2.1.8+Felix1.4+hibernate集成源码,内部是自己通过查资料以及编写部分中间件host-register完成Hibernate3.1.3,Struts2.1.8,felix-1.4的集成。该部分的说明会在博文中说明,敬请关注,大家共同进步。

    spring3.0+struts2.1.8+hibernate3.2完整jar包

    spring3.0+struts2.1.8+hibernate3.2完整jar包 ,保证非常全,放心下载使用。请使用struts2.1.8,如果你已经在学习2.1.6版本,并且遇到类似xwork的异常,导致tomcat无法正常启动,可将struts2.1.8和xwork2.1.6两个包...

    Struts2.1.8+Hibernate3.3+Spring3.0环境搭建

    Struts2.1.8+Hibernate3.3+Spring3.0是经典的Java Web开发框架组合,也被称为SSH(Struts2、Spring、Hibernate)。这个环境的搭建涉及到多个步骤,涵盖了MVC(Model-View-Controller)框架、持久化框架和依赖注入...

    struts2.1.8+spring2.5.6+hibernate3.3.2

    struts2.1.8 + spring2.5.6(支持注解开发Annotations) + hibernate3.3.2(支持注解开发Annotations) + mysql-connector-java-5.1.7-bin.jar 精简完整版,测试可用

    Struts2.1.8+Spring2.5.6+Hibernate3.3.2项目整合

    Struts2.1.8+Spring2.5.6+Hibernate3.3.2是经典的Java Web开发框架组合,常被称为SSH。这三个框架协同工作,为开发者提供了强大的模型-视图-控制器(MVC)架构支持,使得企业级应用的开发更加高效和模块化。 Struts...

    struts2.1.8+json+jquery

    总结来说,"struts2.1.8+json+jquery"的组合展示了如何在Java Web开发中利用Struts2处理业务逻辑和HTTP请求,通过JSON高效地传输数据,以及利用JQuery在前端实现动态页面效果。这种技术栈可以提高开发效率,简化前后...

    struts2.1.8+hibernate3.1(零配置)增删改查

    在这个"struts2.1.8+hibernate3.1(零配置)增删改查"的案例中,我们将深入探讨如何在不编写大量XML配置文件的情况下,通过Struts2的零配置特性与Hibernate的数据持久化能力进行集成,以实现对数据库的基本操作。...

    struts2.1.8+spring2.5+hibernate3.2+ext3.0框架整合笔记(四)

    struts2.1.8+spring2.5+hibernate3.2+ext3.0框架整合笔记的最终版本,整合过程见于:http://blog.csdn.net/phoenixdsf/article/details/7645655

    struts2.1.8+spring2.5.6

    Struts2.1.8与Spring2.5.6是两个经典的Java企业级开发框架,它们在J2EE(Java 2 Platform, Enterprise Edition)应用中扮演着重要的角色。Struts2是一个强大的MVC(Model-View-Controller)框架,而Spring则是一个...

    spring2.5.6 +struts2.1.8+hiernate3.3.2(jar)

    标题中的"spring2.5.6 +struts2.1.8+hiernate3.3.2(jar)"指的是一个集成开发环境,它包含了三个关键的Java Web框架:Spring 2.5.6、Struts 2.1.8和Hibernate 3.3.2。这些框架在Java应用开发中扮演着重要的角色,尤其...

    JQuery1.4.2+Struts2.1.8+JSON0.34+Spring2.5.6+Hibernate3.5+XFire1.2.6整合实例

    JQuery1.4.2+Struts2.1.8+JSON0.34+Spring2.5.6+Hibernate3.5+XFire1.2.6整合实例(已上传) 1、JSON0.34使用的是struts2附带的struts2-json-plugin-2.1.8.1.jar 2、db是mysql,名字为test,用户名root,密码空 3、...

    struts2.1.8+spring+hibernate框架整合所需jar包

    Struts2、Spring和Hibernate是Java Web开发中的三大主流框架,它们各自负责应用程序的不同层面:Struts2处理表现层逻辑,Spring提供业务层管理和依赖注入,而Hibernate则专注于持久化层,管理数据库交互。...

    struts2.1.8+json+jquery1.3实现ajax

    在这个项目中,`struts2.1.8+json+jquery1.3实现ajax`,开发者可能做以下步骤: 1. 配置Struts2:首先,需要在Struts2的配置文件(struts.xml)中配置Action,指定返回JSON类型的结果。这通常通过在Action类的方法上...

    struts2.1.8+spring2.5.6+hibernate3.3.2整合项目开发

    在"struts2.1.8+spring2.5.6+hibernate3.3.2整合项目开发"中,首先我们需要理解这三个框架的基本概念和用法: 1. **Struts2**:Struts2是一个基于MVC设计模式的Web应用框架,用于构建可维护性和可扩展性高的应用...

    Struts2.1.8+Spring2.5.6+hibernate3.2.3整合

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自在应用程序的不同层面发挥着重要作用。Struts2是用于处理MVC(Model-View-Controller)架构的框架,Spring是一个全面的后端管理框架,而Hibernate则...

    struts2.1.8+spring2.5+hibernate3.2+ext3.0框架整合笔记(二)

    在"struts2.1.8+spring2.5+hibernate3.2+ext3.0框架整合笔记(二)"中,开发者可能关注以下几个关键点: 1. **Struts2与Spring的整合**: - 配置Struts2的`struts-plugin.xml`文件,导入Spring插件,使Struts2能够...

    struts2.1.8+hibernate3.6.1+spring2.5.6架包

    总结起来,这个"struts2.1.8+hibernate3.6.1+spring2.5.6"整合包为Java Web开发者提供了一套成熟的开发环境,帮助他们快速搭建基于MVC、ORM和DI/AOP的项目,减少了集成不同框架时的复杂度,促进了代码的整洁性和可...

    Struts2.1.8+Spring3.0.2+hibernate3.5.1

    标题 "Struts2.1.8+Spring3.0.2+hibernate3.5.1" 提供了一个经典的Java Web开发中的技术栈组合,它由三个主要框架构成:Struts2作为MVC(模型-视图-控制器)框架,Spring作为依赖注入和企业服务容器,以及Hibernate...

Global site tag (gtag.js) - Google Analytics