在struts2中使用JasperReports

[color=darkblue]最近工作中要求可以把网页信息以报表的形式输出,虽然以前有接触过JasperReports,但是还不是很了解,自己就详细的看了一下JasperReports的文档,用struts2做了一个简单的例子,share 出来供大家参考,同时也把自己学习中遇到的问题记载下来,以备查。[/color]

1、在struts2中,默认的struts-default.xml中,并没有包含jasper的result-type,它是插件的形式使用的。把struts2的解压包的lib里找到struts2-jasperreports-plugin-2.0.11.jar,拷贝到你的项目的classpath里,同时在struts.xml里面增加一个jasper的result-type。
<result-types>
<result-type name="jasper" class="org.apache.struts2.views.jasperreports.JasperReportsResult"/>
</result-types>
<action name="ListAllCustomersForJasperXLS" class="report.ListAllCustomersAction">
<result name="success" type="jasper">
<param name="location">/WEB-INF/report/ListAllCustomers.jasper</param>
<param name="dataSource">customers</param>
<param name="format">XLS</param>
</result>
</action>

2、报表JasperReports依赖很多的jar包,可以到JasperReports Requirements
([url]http://www.jasperforge.org/jaspersoft/opensource/business_intelligence/jasperreports/requirements.html[/url])找到。
[img]http://liyanboss.iteye.com/upload/picture/pic/11557/18412e9a-2ddf-3489-b11b-b2ed55894acd.jpg[/img]
3、要使用JasperReports提供的antTask把编辑好的jrxml编译成jasper的。
<target name="-compile.report">
<taskdef name="jrc" classname="net.sf.jasperreports.ant.JRAntCompileTask">
<classpath refid="master-classpath" />
</taskdef>
<jrc destdir="${webapp.web.dir}/WEB-INF/report">
<src>
<fileset dir="${webapp.web.dir}/WEB-INF/report">
<include name="**/*.jrxml" />
</fileset>
</src>
<classpath refid="master-classpath" />
</jrc>
</target>

4、中文问题的解决,需要下载iTextAsian.jar,支持亚洲文字,同时修改jrxml文件中的
[b]fontName="宋体"
pdfFontName="STSong-Light"
isPdfEmbedded="true"[/b]

:D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D
[color=darkblue]其实,需求是要能够根据数据生成图表(chart),开源的jfreechart应该很好用,接下来要学习一下jfreechart,生成柱状图表。
另外,在编辑JasperReports的jrxml文件时,一个开源的可视化的组件iReport也很好用,我还没有详细研究,大家一起来学习呀!!!!!!!!!![/color]

[color=green][b]下面是除了依赖的jar以外的所有源代码,share出来,欢迎下载。[/b][/color]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值