web-dev-qa-db-ja.com

JasperReportsが使用するロケールを変更するにはどうすればよいですか?

私のマシンにインストールされているウィンドウにはen_AUというロケールがあり、それがJasperReportsが使用するものです。 Administratorを含むすべてのユーザーのロケールを変更しようとしましたが、まだen_AUを使用しています。

どうすればそのロケールを変更できますか?レポートのREPORT_LOCALEパラメータを変更することはできますか?

38
Francisco Fiuza

ロケールは、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エリアのプロジェクトプロパティダイアログを開きます。

Project Properties

IReportを使用して、[全般]タブの[レポート実行オプション]セクションの[オプション]ウィンドウでレポートロケールを設定します。これにより、実行時にレポートのロケールが設定されます。

59
waxwing