cre*_*ijn 7 jasper-reports internationalization
是否可以在运行时jasper Reports加载ResourceBundle(for i18n)?
我想从jrxml文件(例如c:\reports\report.jrxml)创建一个报告
,我的标签位于(c:\messages\report.properties)的属性文件中.
我只找到了属性文件在类加载器中的示例.
谢谢
John Ferguson的博客提到,诀窍是REPORT_RESOURCE_BUNDLE使用自定义ResourceBundle实例覆盖参数.
// Compiling the report is not a necessary step; prefer using .jasper files
// that have been pre-compiled to avoid this compilation step.
//
JasperDesign jasperDesign = JasperManager.loadXmlDesign("Report.jrxml");
JasperReport jasperReport = JasperManager.compileReport(jasperDesign);
Map parameters = new HashMap();
parameters.put("REPORT_LOCALE",LocaleManager.currentLocale());
parameters.put("REPORT_RESOURCE_BUNDLE",resourceBundle);
Connection conn = DBConnectionFactory.getConnection();
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,
parameters,
conn);
Run Code Online (Sandbox Code Playgroud)
该resourceBundle可以来自任何地方.例如:
try(FileInputStream fis = new FileInputStream("/tmp/report.properties")) {
ResourceBundle resourceBundle = new PropertyResourceBundle(fis);
// Pass resourceBundle into the report, as shown above.
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9645 次 |
| 最近记录: |