Struts2整合JasperReport
2015-11-10 16:59
696 查看
转载自:http://blog.csdn.net/zhutianxiang/article/details/5783299
先介绍一下它们的关系:
jasperReport:一个开源的,强大灵活的报表类库,能生成html,pdf,xls等等其它格式报表。
官网:http://jasperforge.org/projects/jasperreports
下载时把整个工程下下来。如图:
ireport:是jasperReport的可视化设计工具,使用ireport,可以更快地设计出想要的报表
下载:http://jasperforge.org/projects/ireport
它有各个平台下的版本,windows下的下来直接安装即可,切记要下载与JasperReport相同版本的iReport。
struts2:著名的mvc框架,不多说了。官网:http://struts.apache.org/
用到的jar包:
在struts2的(根据情况可再筛选):
在jasperReport的:
说明:itextAsian.jar 是为了在PDF中文能正确显示的包。
整理下Struts2整合JasperReport时jar包的来源:
从struts2的源码文件的lib文件夹内拷贝必要的struts2的jar包,同时拷贝struts2-jasperreports-plugin-*.jar包;
从下载的jasperReport的dist目录下拷贝jasperreports-*.jar包;
从下载的jasperReport的lib目录下拷贝所有jar包(或则为具体报表类型筛选对应的jar包);
若以上jar包内不包含iTextAsian.jar包,则再从http://itextpdf.sourceforge.net/下载iTextAsian.jar包;
平时我们做开发时,是先用ireport设计好报表,然后编译得到名为xxx.jasper的文件。再把xxx.jasper放到工程下使用,下面是做的一个列子(使用javabean数据源):
1.运行我们的ireport,新建一个report文件;
2.设置我们javabean的classpath路径,工具,选项,classpath,addFolder,选择工程下的的classpath路径加进去;如我的:F:/ansure_g_struts2/ext_struts2_004/WebRoot/WEB-INF/classes
3.为report添加数据源,右击report的名称,选择Edit query,javabean datasource,输入你的javabean名称,把其属性列表读取出来,把要打印的属性加到下面去,点确定。如图:
4.这样我们就可以在左侧的树形目录下看到Fields下有相关的属性,把他们拖到报表的detail 区域下,如图:
5.点击编译,生成xxx.jasper文件。
6.在你的web工程的根目录下建立一个文件夹jasper,把xxx.jasper文件放进该目录下
7.配置struts.xml:
[xhtml] view
plaincopy
<action name="PDF" class="studentJasperAction">
<!-- jasper结果类型 -->
<result name="success" type="jasper">
<!-- jasper文件位置 -->
<param name="location">/jasper/Students.jasper</param>
<!-- 报表类型 -->
<param name="format">PDF</param>
<!-- 报表数据源:getStudent()方法的返回值作为数据源 -->
<param name="dataSource">student</param>
</result>
</action>
[xhtml] view
plaincopy
<action name="XLS" class="studentJasperAction">
<result name="success" type="jasper">
<param name="location">/jasper/Students.jasper</param>
<param name="format">XLS</param>
<param name="dataSource">student</param>
</result>
</action>
8.写一个提供数据源的javabean(省略getter、setter方法):
[java] view
plaincopy
public class Student {
private int stuid;
private String stuname;
private String stuphoto;
public Student(int stuid,String stuname,String stuphoto){
this.stuid = stuid;
this.stuname = stuname;
this.stuphoto = stuphoto;
}
}
8.写一个Action类:
[java] view
plaincopy
public class StudentJasperAction extends ActionSupport {
private List student;
public List getStudent(){
student = new ArrayList();
for(int i=0;i<50;i++){
Student stu = new Student(i,"zs"+i,"15088668850");
student.add(stu);
}
return student;
}
public String execute() throws Exception{
return super.execute();
}
}
9.写一个JSP:
[xhtml] view
plaincopy
<body>
打印、预缆报表 <hr>
<a href="PDF.action" mce_href="PDF.action">PDF格式报表</a><br/>
<a href="XLS.action" mce_href="XLS.action">EXCLE格式报表</a>
</body>
如果你对iReport很生疏,无法开展工作。你可以去电驴里搜浪曦网风中叶的Struts2专题的视频,其中有3集是详细介绍JasperReport、iReport、及Struts2与JasperReport整合应用的。
先介绍一下它们的关系:
jasperReport:一个开源的,强大灵活的报表类库,能生成html,pdf,xls等等其它格式报表。
官网:http://jasperforge.org/projects/jasperreports
下载时把整个工程下下来。如图:
ireport:是jasperReport的可视化设计工具,使用ireport,可以更快地设计出想要的报表
下载:http://jasperforge.org/projects/ireport
它有各个平台下的版本,windows下的下来直接安装即可,切记要下载与JasperReport相同版本的iReport。
struts2:著名的mvc框架,不多说了。官网:http://struts.apache.org/
用到的jar包:
在struts2的(根据情况可再筛选):
在jasperReport的:
说明:itextAsian.jar 是为了在PDF中文能正确显示的包。
整理下Struts2整合JasperReport时jar包的来源:
从struts2的源码文件的lib文件夹内拷贝必要的struts2的jar包,同时拷贝struts2-jasperreports-plugin-*.jar包;
从下载的jasperReport的dist目录下拷贝jasperreports-*.jar包;
从下载的jasperReport的lib目录下拷贝所有jar包(或则为具体报表类型筛选对应的jar包);
若以上jar包内不包含iTextAsian.jar包,则再从http://itextpdf.sourceforge.net/下载iTextAsian.jar包;
平时我们做开发时,是先用ireport设计好报表,然后编译得到名为xxx.jasper的文件。再把xxx.jasper放到工程下使用,下面是做的一个列子(使用javabean数据源):
1.运行我们的ireport,新建一个report文件;
2.设置我们javabean的classpath路径,工具,选项,classpath,addFolder,选择工程下的的classpath路径加进去;如我的:F:/ansure_g_struts2/ext_struts2_004/WebRoot/WEB-INF/classes
3.为report添加数据源,右击report的名称,选择Edit query,javabean datasource,输入你的javabean名称,把其属性列表读取出来,把要打印的属性加到下面去,点确定。如图:
4.这样我们就可以在左侧的树形目录下看到Fields下有相关的属性,把他们拖到报表的detail 区域下,如图:
5.点击编译,生成xxx.jasper文件。
6.在你的web工程的根目录下建立一个文件夹jasper,把xxx.jasper文件放进该目录下
7.配置struts.xml:
[xhtml] view
plaincopy
<action name="PDF" class="studentJasperAction">
<!-- jasper结果类型 -->
<result name="success" type="jasper">
<!-- jasper文件位置 -->
<param name="location">/jasper/Students.jasper</param>
<!-- 报表类型 -->
<param name="format">PDF</param>
<!-- 报表数据源:getStudent()方法的返回值作为数据源 -->
<param name="dataSource">student</param>
</result>
</action>
[xhtml] view
plaincopy
<action name="XLS" class="studentJasperAction">
<result name="success" type="jasper">
<param name="location">/jasper/Students.jasper</param>
<param name="format">XLS</param>
<param name="dataSource">student</param>
</result>
</action>
8.写一个提供数据源的javabean(省略getter、setter方法):
[java] view
plaincopy
public class Student {
private int stuid;
private String stuname;
private String stuphoto;
public Student(int stuid,String stuname,String stuphoto){
this.stuid = stuid;
this.stuname = stuname;
this.stuphoto = stuphoto;
}
}
8.写一个Action类:
[java] view
plaincopy
public class StudentJasperAction extends ActionSupport {
private List student;
public List getStudent(){
student = new ArrayList();
for(int i=0;i<50;i++){
Student stu = new Student(i,"zs"+i,"15088668850");
student.add(stu);
}
return student;
}
public String execute() throws Exception{
return super.execute();
}
}
9.写一个JSP:
[xhtml] view
plaincopy
<body>
打印、预缆报表 <hr>
<a href="PDF.action" mce_href="PDF.action">PDF格式报表</a><br/>
<a href="XLS.action" mce_href="XLS.action">EXCLE格式报表</a>
</body>
如果你对iReport很生疏,无法开展工作。你可以去电驴里搜浪曦网风中叶的Struts2专题的视频,其中有3集是详细介绍JasperReport、iReport、及Struts2与JasperReport整合应用的。
相关文章推荐
- Asp.net或C#使用word模板生成替换后的Word和pdf文档-总结
- Dnsmasp详解
- JasperReport学习笔记8-JasperReport和Hibernate,Struts的整合
- JasperReport学习笔记7-导出成其它格式(pdf,xls,html)
- JasperReport学习笔记6-JRXML的标签
- JasperReport学习笔记5-其它数据生成动态的报表(WEB)
- asp+AJAX 用escape解决url传递中文乱码的问题
- JasperReport学习笔记4-查询数据库生成动态的报表(WEB)
- JasperReport学习笔记3-在浏览器生成PDF文件
- 在GridView中设置每个单元格的数据
- JasperReport学习笔记2-创建简单的报表例子
- JasperReport学习笔记1-了解JasperReport
- Asp.net 学习宏观总结
- Linq与lamda写法对比
- asp.net mvc中匿名类dynamic
- 配置asp.net 2.0的项目到IIS7
- asp.net MVC自定义错误页,并记录错误日志
- 在ASP.NET Web API中使用OData的单例模式
- 界面控件Essential Studio for ASP.NET正式发布2015 v3[附下载]
- SpringMVC与iReport(JasperReports) 5.6整合开发实例