JasperReport与spring集成的三种方式
最近要用JasperReport,试着和spring集成了一下,现总结如下:
spring提供了几种对应JasperReport的view,可以在spring的bean定义文件
中按需要定义好,在spring的controller中对报表数据进行填充,然后返回
ModelAndView就可以了,这样就和spring的MVC集成在一起了。
详细信息可以参看spring包中带的spring reference文档。
我是这么配置的,定义报表的ViewResolver:
spring可以定义多个ViewResolver,对于普通的jsp的view,还需要如下定义一个ViewResolver:
其中dataSource就是一般系统中定义的DataSource bean。spring refernce中
报表的ViewResolver用的是ResourceBundleViewResolver,View的定义是在一个
properties文件中完成的,但是我没找到在properties文件中指定jdbcDataSource
属性为一spring的bean(dataSource)的方法,所以用的是xml文件定义的方法。
这时controller的处理非常简单,没有获取数据的处理,代码如下:
这种方式是通过Hibernate Dao获取Collection类型的数据,然后保存在给View
的model中,Spring会自动寻找Collection类型的对象作为报表填充的数据。
Controller的代码如下:
以及JdbcTemplate Dao的定义
最后,希望各位大侠拍砖,呵呵