JasperReport Report是一款强大的免费报表引擎,Spring MVC提供了对其的支持,由于JasperReport可以使用多种数据员,本文以javabean为数据源演示。
下载地址: spring-mvc-demo_v4.zip
注意,本教程在写作的过程中maven 下载itext-2.1.7.js2.jar时总是下载不成功,可以翻墙手工下载,然后放在maven对应的目录下,maven的本地仓库目录默认为C:\Users\用户名\.m2\repository目录。
1、使用ireport设计报表模板(略)
本文生成的模板文件为Simple.jasper, 放在src/main/resources/reports/下,编译后会出现在WEB-INF/classes/reports/目录下。
2、修改pom.xml导入需要的依赖。
本系列示例开始使用的是spring 3.2.3 release 版本,为了使用Jasperreport, 升级为了spring 4.1.0 release版本,因为Jasperreport的package改变了,有Jasperreport改成了net.sf.jasperreports。本文使用的依赖为
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.1.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.1.0.RELEASE</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>net.sf.jasperreports</groupId> <artifactId>jasperreports</artifactId> <version>5.6.0</version> </dependency> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>2.3.6</version> </dependency> |
?3、修改views.properties
views.properties是ResourceBundleViewResolver 使用的一个配置文件,具体内容可以参考我的上一篇博客
1 2 3 |
simpleReport.(class)=org.springframework.web.servlet.view.jasperreports.JasperReportsPdfView simpleReport.url=/WEB-INF/classes/reports/Simple.jasper simpleReport.reportDataKey=reportDataKey |
4、实现一个@Controller方法
1 2 3 4 5 |
@RequestMapping(value="report") public String report(Map<String, Object> model){ model.put("reportDataKey", SimpleFactory.test()); return "simpleReport"; } |
SimpleFactory.test() 是我在设计模板时使用的产生数据的工厂方法。可以看到我们返回的逻辑视图是simpleReport且Model中的Key=reportDataKey
5、测试
访问http://localhost:8080/mvcDemo/report 就可以看到我们刚才产生的报表了
报表的内容很简单,就不截图了。
Posted in: spring practise | Tags: JasperReport, Spring_MVC
Comments are closed.