使用Jasper Report 本地化功能, 出现以下问题.
java.util.MissingResourceException: Can't find bundle for base name i18n, locale cs_CZ
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:837)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:727)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:700)
at net.sf.jasperreports.engine.fill.JRFillDataset.loadResourceBundle(JRFillDataset.java:551)
at net.sf.jasperreports.engine.fill.JRFillDataset.setParameterValues(JRFillDataset.java:582)
at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1202)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:842)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:814)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601)
at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile
(JasperFillManager.java:492)
at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile
(JasperFillManager.java:448)
at com.tom.i18n.I18nApp.fillReport(I18nApp.java:82)
at com.tom.i18n.I18nApp.main(I18nApp.java:38)
大体上就是说找不到配置文件
在尝试多次后, 发现要在报表模版文件(.jrxml)中的 <jasperReport> 标签的属性 "resourceBundle"中增加
包路径:
<jasperReport
name="I18nReport"
resourceBundle="com.tom.i18n.xxx"
>
这里"com.tom.i18n"是包的路径, "xxx"是配置文件名.
注意这个包的位置与.properties文件的位置没有关系, 是你报表填充的类的所在位置, 因为是在填充报表的时候
使用到了.properties的配置文件
再看看<<jasperReport for java>>, 才明白
The resourceBundle attribute of the <jasperReport> element tells JasperReports
where to get the localized strings to use for the report. In order for this attribute to
work correctly, a property ile with a root name matching the value of the attribute
must exist anywhere in the CLASSPATH when illing the report.
CLassPath 难怪我在模仿例子用ant测试的时候, 不加包也没有错误, 原因是有Ant配置文件中设置了ClassPath
分享到:
相关推荐
在“SaaS-Export第13天-课堂笔记.md”中,我们可以预见到有关jasperReport在SaaS(Software as a Service)环境中的应用。SaaS模式下,报表引擎不仅需要处理单个用户的需求,还要满足多租户环境下的安全性和隔离性。...
### jasperreport iReport 用户手册知识点 #### 一、序言 **iReport** 是一个图形界面工具,用于设计和创建 **JasperReports** 的报表模板。它为开发者提供了直观的操作方式来创建复杂的报表。 ##### 1.1 什么是...
7. **部署和集成**:Jaspersoft Studio不仅支持本地运行,也支持将报表部署到Jaspersoft Server,实现Web服务接口的集成。 8. **版本控制与协作**:手册可能还会涉及版本控制和团队协作的最佳实践,如何使用版本...
报表系统作为数据展现的重要工具,其本地化能力显得尤为重要。Ireport是一款广泛使用的报表设计工具,尤其在Java环境下,它能够与JasperReports库紧密配合,生成各种复杂的报表格式,包括PDF。然而,在处理中文字符...
JasperReports支持多种数据源,包括但不限于数据库连接、CSV文件、XML文件等。此外,还支持多种输出格式,如PDF、HTML、XLS等。 ##### 3.4 版本之间的兼容性 不同版本的JasperReports之间可能存在一定的兼容性问题...
- iReport支持从资源文件中恢复本地化字符串。 - 这样可以确保报表在不同语言环境下都能正确显示。 **格式化消息:** - 有时候需要在报表中显示格式化的消息。 - iReport提供了相应的功能来支持这种需求。 **配置...