最近新建了一个项目用以测试使用JasperSoft的报表服务,然后发现,JasperSoft对应的报表不同的运行方式会对中文的显示问题产生影响。
图 1如图一所示,运行系统时有3个选项,对于我的项目说说前两个选项的一点区别。
对于方式2 run as Java Application基本是不需要特殊的配置就可以运行项目,使用的tomcat也是内置的,但是这种方式的问题在于Jasper模板的中文不能显示出来,经过一些配置虽然可以显示出来,但是太过麻烦了。
运行效果如下图所示:
图 2对于方式1 run as run on Server 方式,需要我们配置外部的tomcat以及一些其他的注意事项,但是系统运行时JasperSoft的模板中的中文是可以显示的。需要注意的是,Spring boot 项目当使用这种方式时,项目的入口类需要一些特殊的配置。这些配置会影响到系统的正常启动。
图 3如上图所示,入口类需要继承SpringBootServletInitializer类,且要重写configure(SpringApplicationBuilder application)方法。继承SpringBootServletInitializer类很重要,而且SpringBoot项目的启动可以不配置web.xml文件。
运行效果如下图所示。
图 4结束,此模板使用了子报表以及每页只显示一条记录和将JavaBean作为数据源。
网友评论