【发布时间】:2008-10-29 20:46:23
【问题描述】:
安装在我机器上的 Windows 具有区域设置 en_AU,这就是 JasperReports 使用的。我已经尝试更改所有用户的区域设置,包括管理员,但它仍然使用en_AU。
如何更改该语言环境?是否可以更改我的报告中的REPORT_LOCALE 参数?
【问题讨论】:
标签: jasper-reports locale
安装在我机器上的 Windows 具有区域设置 en_AU,这就是 JasperReports 使用的。我已经尝试更改所有用户的区域设置,包括管理员,但它仍然使用en_AU。
如何更改该语言环境?是否可以更改我的报告中的REPORT_LOCALE 参数?
【问题讨论】:
标签: jasper-reports locale
语言环境是在执行期间设置的,而不是在 JRXML 中。
使用 Java,为报告的参数映射设置 REPORT_LOCALE 参数。例如:
InputStream reportTemplate = getReportTemplate();
JRDataSource dataSource = getDataSource();
java.util.Map parameters = getParameters();
java.util.Locale locale = new Locale( "en", "US" );
parameters.put( JRParameter.REPORT_LOCALE, locale );
JasperFillManager.fillReport( reportTemplate, parameters, dataSource );
使用 Jaspersoft Studio,打开项目属性对话框到 Report Execution 区域:
使用 iReport,在“常规”选项卡的“报告执行选项”部分下的“选项”窗口中设置报告区域设置。这将在运行时设置报告区域设置。
【讨论】:
如果您不想更改代码,可以在 JVM 上设置执行 JasperFillManager 代码的语言环境:
java -Duser.language=de -Duser.country=CH ...
【讨论】:
最简单的方法是在jasperreports.properties 文件中设置语言环境net.sf.jasperreports.default.locale 属性。
【讨论】: