1、前言
写本文的主要原因是,之前写过一个开源软件,使用的报表技术是jasperreport+ireport,所以对它有一点印象,加上对国内fine某印象特别差,故此没有选择fine。和SSM框架有关的知识这里不做太多描述,我只详细解释和整合jasreport相关的部分,因为我也是初学SSM才一个月,框架部分实在是不敢误导人。
2、jar包相关
jasperreport+ireport依赖的jar包有很多,可以自行网上搜索。比较重要的包有如下几个,我使用的是ireport5.1。
jasperreports-5.6.0.jar(这个对版本要求不是很高,5.1以上就可以)
groovy-1.8.3.jar(必须是1.8-2.0)
asm-3.3.1.jar(给别人搭的时候遇到的jar缺少问题,???黑人问号,我也不知道为什么要,反正你加就是了哪来那么多废话)
iText-2[1].1.7.jar(必须是这个版本之上)
还有其他的jar这里就不做阐述了,网上可以搜索到。
3、Ireport相关
首先开发出一个报表并编译成.jasper文件,ireport有自带的这个功能,在.jrxml文件相同路径下就可以看到。ireport相关的文档有很多,请自行查阅。推荐使用5.1版本的ireport,其他版本不保证绝对能正常搭建成功。
4、整合过程
首先需要一个dataSource,这里我发现一个想让我哭的事情,简书不能贴代码!!!,算了上图吧
新建文件,reports.xml,为了方便,直接建在了WebContent底下。。。
配置reportViewResolver和viewResolver,这里需要注意的是reportViewResolver的location需要时刚才配置的reports.xml的路径。文件名为:applicationContext-report.xml
然后让加载刚才配置的applicationContext-report.xml
我这里设置的是自动加载,这一步就省略了。
这里需要注意的是:spring mvc中的配置前缀和后缀你只能含泪注释掉了,如果不注释的话,报表的测试马上就会看见404了
我只能新建一个文件供controller使用了,要不然你的别的view的后缀不能拼接上。不过这个是spring mvc的事情,不能脱题 - -
写controller,这里的return的view就是reports.xml中的beanID
至此,SSM整合jasperreport的过程就完美收官了,接下来测试!!!
启动项目,http://localhost:6060/logistics/datasourceCustomer.action
看到如下页面就代表成功了,我使用的是google浏览器
不过这个文件后缀有点诡异,下载下来更改后缀为.pdf就可以正常打开了。后续我还会继续填坑的。不过简书的代码怎么贴请大家告诉我,第一次发帖不太懂 - -
希望对大家有所帮助