第12章Struts2整合JasperReports开发_第1页
第12章Struts2整合JasperReports开发_第2页
第12章Struts2整合JasperReports开发_第3页
第12章Struts2整合JasperReports开发_第4页
第12章Struts2整合JasperReports开发_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第12章 struts 2整合jasperreports开发 对于大部分企业级应用,通常需要生成大量报表。开发者可以通过手动地编写html页面从而生成并显示报表,显然这种开发方式效率低下而且比较复杂。同样开发者也可以使用报表生成工具如jasperreports,通过这些工具支持可以非常轻松的生成报表。 struts 2提供了jasperreports插件支持,借助于该插件,struts 2可以非常方便和容易的使用jasperreports来生成报表。12.1 初涉jasperreports 12.1.1 jasperreports简介 12.1.2 下载并安装jasperreports和ire

2、port 12.1.1 jasperreports简介本章来推荐一款非常好的报表生成工具jasperreports。和jfreechart一样,jasperreports同样是开源项目,可以免费使用。并且该项目完全由java编写,使用它可以在java桌面程序或者java web应用中生成报表。jasperreports功能是非常强大的,而且其非常容易上手。只用给出一份xml格式的报表设计文件,对其进行编译、填充、导出,就可以生成多种格式的报表文件。包括pdf、html、excel、xls等。相比传统的只能生成html文档或其他单一格式文档的报表生成工具,jasperreports显得非常强大。

3、通过struts 2提供的jasperreports插件,可以非常方便和简单的通过jasperreports生成报表。12.1.2 下载并安装jasperreports和ireport首先登录jasperreports的官方站点,下载jasperreports和ireport,如图12-1所示。ireport是可以用来可视化的设计报表设计文件,借助ireport可以非常方便和快速地设计出精美的报表。jasperreports和ireport的最新版本为2.0.5,下载其压缩包。解压缩其中的jasperreports-2.0.5-project.

4、zip文件,如图12-2所示。12.1.3 设计报表 下面来创建一份报表设计文档myfirst.jrxml,该文档中包含大量的jasperreports标签,标签非常之多,用户没必要也不可能去一一记住,代码如下所示。 (详细内容请参照本书)12.1.4 显示报表要显示报表必须经过以下流程。使用jaspercompilemanager类将报表设计文件编译,并生成jasper文件后缀名的报表文件。使用jasperfillmanager填充编译后的报表文件,并生成jrprint后缀名的文件。使用jasperexportmanager将jrprint文件导出成各种格式报表文件,或直接使用jrviewe

5、r显示报表。通过该流程编写显示报表程序,代码如下所示。12.2 使用ireport设计报表 前面介绍了如何手动的编写程序来编译报表设计文件,以及填充报表和现实报表。但是这种方式显然过于复杂以及费时。ireport提供了可视化的界面来设计报表设计文件,从而可以非常轻松和方便地设计报表。12.2.1 设置ireport语言环境前面介绍了如何手动地编写程序来编译报表设计文件,以及填充报表和现实报表。但是这种方式显然过于复杂以及费时,尤其是设计报表设计文件,如果完全靠手动的写代码那将是一个痛苦和繁重的任务。有了ireport,一切将变得很简单和轻松。双击ireport.exe打开ireport,将看到

6、一个和word等其他编辑软件相似的界面,如图12-5所示。界面上怎么又有繁体中文又有英文啊!这个是因为ireport的国际化没做好吧!不要紧,可以手动地修改语言环境。选择主菜单上的“option”“选项”菜单。在弹出的“选项”对话框中找到“语言”选项,如图12-6所示。通过下拉列表选择“中文(中国)”选项,单击“存档”按钮保存设置。12.2.2 使用ireport设计报表 下面来打开myfirst.jrxml报表设计文件。通过选择主菜单上的“档案”“开启旧档”选项,或者使用快捷键ctrl+o打开文件选择对话框,选择打开myfirst.jrxml报表设计文件。这时在编辑区可以可视化地看到该报表设

7、计文件,如图12-8所示。12.2.3 编译报表下面来看如何使用ireport编译该报表设计文件。首先需要指定编译后文件的保存目录,和修改语言环境一样,打开“选项”对话框,如图12-11所示。单击“compiler”选项卡,设置其中的“default compiler directory”选项。单击“存档”按钮保存设置。通过选择主菜单中的“建立”“编译”选项即可对该设计文档进行编译。当输出信息控制台output console中出现正确编译信息,则表示编译成功,如图12-12所示。12.2.4 预览报表 通过选择主菜单中的“建立”“执行报表”选项即可预览该报表。默认使用jrviewer来预览报

8、表,如图12-13所示。12.3 导出pdf文件报表 ireport提供了多种预览模式,如pdf预览、html预览、csv预览等。通过使用不同的预览模式,ireport将自动导出该文件格式的报表。12.3.1 配置pdf文件阅读程序 通过选择主菜单中的“建立”菜单,如图12-14所示。可以看到存到多种预览。如果需要将报表导出为pdf文件格式,则需设置预览方式为pdf预览。 设置完成后,执行报表,这时将会在配置的编译保存目录生成一个pdf格式的报表,如图12-15所示。12.3.2 解决中文无法显示问题这时发现一个问题,文档中只显示了几个叉叉啊!其他的文字怎么都不见了。这是因为itext默认不支

9、持中文字符,所以需要到itext的官方站点http:/itextpdf/下载其中的itextasian.jar。如果使用手动的方式导出文件则要将ireport加入到classpath下。如果使用ireport导出文件则只需将下载的itextasian.jar复制到ireport项目的lib目录下即可,如图12-18所示。同时还必须设置所有的中文字符的pdf字体(pdf font name)为stsong-light,pdf编码为ucs2-h (chinese simplified),如图12-19所示。12.4 带查询报表 前面设计的报表都是静态的报表,没有太多的实际意义。实际的报表都需要传入

10、一些动态的内容,例如显示数据库中查询的结果。12.4.1 配置数据源 首先创建一张数据表,其中包括userid、username、password、sex以及age五个字段。其中userid为主键,并自动递增,如图12-21所示。12.4.2 使用向导来创建带查询的报表 可以通过向导的方式来创建带查询的报表,这种方式非常简单,但是缺乏灵活性。 选择主菜单上的“档案”“报表精灵”选项打开报表向导对话框。该报表向导一共分五步。12.4.3 手动创建带查询的报表前面介绍的是使用向导来创建报表虽然很方便,但是缺乏灵活性。下面来看如何手动创建带查询的报表。选择主菜单上的“date”“设置活动链接”选项,

11、选择前面配置的数据源,单击“确定”按钮完成配置,如图12-33所示。选择主菜单上的“date”“报表查询”选项,如图12-34所示,在该对话框中输入相应的查询语句,单击“ok”按钮完成配置。12.5 带参数的报表 jasperreports允许在设计报表时使用一个或多个参数,这些参数在填充报表时再传入。通过ireport工具可以非常方便的添加参数。12.5.1 添加参数jasperreports允许在设计报表时使用一个或多个参数,这些参数在填充报表时再传入。使用ireport添加参数非常简单,首先找到“document structure”视图窗口。在该视图窗口中选择“add”|“parame

12、ter”选项,打开参数添加对话框,如图12-39所示。在该对话框中输入变量名以及变量类型,并选中“use as a prompt“复选框,表示运行该报表时会出现一个提示框用来提示输入参数值,如图12-40所示。12.5.2 布局报表 根据如上的方法添加多个参数,并将参数值显示在报表中,如图12-41所示。12.5.3 执行报表 编译并执行该报表,使用pdf预览该报表。根据参数提示填写好相应的参数值,单击“ok“按钮完成参数传入,如图12-42所示。 当所有的参数传入完成后,报表显示出设计的静态文本以及传入的参数值,如图12-43所示。12.6 整合struts 2和jasperreports开

13、发报表 struts 2提供了jasperreports插件支持,借助于该插件,struts 2可以非常方便和容易地使用jasperreports来生成报表。12.6.1 安装jasperreports插件jasperreports插件位于struts-下的lib目录下。只需将该插件复制到web应用下的web-inf目录下的lib目录下就可以了。但是发现这里该插件下的struts-plugin.xml配置同jfreechart插件有类似问题,如下代码所示。 12.6.2 创建生成报表的action 插件安装完成后,开始添加action用来生成报表,在该action中可以添加一个

14、get的方法,通过该方法返回一个集合。经过action配置后,该集合中的数据将被填充到报表中。 首先添加一个user类,该类是一个普通的javabean。类中包含三个属性,添加其构造函数以及各属性的setter和getter方法。12.6.3 设计报表设计文件使用ireport工具设计报表设计文件。为了能显示action中的user,需要增加三个文本字段。并配置文本字段的name属性与user类中属性相对应。首先找到“document structure”视图窗口。在该视图窗口中选择“add”“field”选项,打开文本字段添加对话框。通过该对话框配置文本字段的名称以及数据类型,如图12-44所示。添加完成文本字段后,可以将其直接拖曳到设计面板中,如图12-45所示。12.6.4 配置action配置该action非常简单,只需为该action指定一个类型为jasper的result。同时可以为该result指定三个参数:location、format和datasource,分别用来指定jasper格式文件所在路径,生成报表格式以及报表使用数据源,代码如下所示。12.6.5 生成jasperreports报表 配置完该action后,就可以生成报表了。打开

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论