`

JasperReport 本地化找不到属性文件的问题

阅读更多

使用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
 

分享到:
评论

相关推荐

    export_jasperReport.zip

    在“SaaS-Export第13天-课堂笔记.md”中,我们可以预见到有关jasperReport在SaaS(Software as a Service)环境中的应用。SaaS模式下,报表引擎不仅需要处理单个用户的需求,还要满足多租户环境下的安全性和隔离性。...

    jasperreport iReport用户手册(PDF)翻译:董岿

    ### jasperreport iReport 用户手册知识点 #### 一、序言 **iReport** 是一个图形界面工具,用于设计和创建 **JasperReports** 的报表模板。它为开发者提供了直观的操作方式来创建复杂的报表。 ##### 1.1 什么是...

    Jaspersoft-Studio-User-Guide.pdf

    7. **部署和集成**:Jaspersoft Studio不仅支持本地运行,也支持将报表部署到Jaspersoft Server,实现Web服务接口的集成。 8. **版本控制与协作**:手册可能还会涉及版本控制和团队协作的最佳实践,如何使用版本...

    国产报表Ireport,pdf打印输出中文

    报表系统作为数据展现的重要工具,其本地化能力显得尤为重要。Ireport是一款广泛使用的报表设计工具,尤其在Java环境下,它能够与JasperReports库紧密配合,生成各种复杂的报表格式,包括PDF。然而,在处理中文字符...

    iReport-Ultimate-Guide中文手册

    JasperReports支持多种数据源,包括但不限于数据库连接、CSV文件、XML文件等。此外,还支持多种输出格式,如PDF、HTML、XLS等。 ##### 3.4 版本之间的兼容性 不同版本的JasperReports之间可能存在一定的兼容性问题...

    IReport中文教程

    - iReport支持从资源文件中恢复本地化字符串。 - 这样可以确保报表在不同语言环境下都能正确显示。 **格式化消息:** - 有时候需要在报表中显示格式化的消息。 - iReport提供了相应的功能来支持这种需求。 **配置...

Global site tag (gtag.js) - Google Analytics