次の式を持つテーブルにデータ セルがあります。
Messages.getString(
ServiceConfigHandler.getInstance().getStatusDesc(row["STATUS"]),
reportContext.getLocale())
DataSet beforeOpen() スクリプト句で適切なパッケージのインポートを行いました。
この式は、row["STATUS"]値を取得してリストから説明値を取得し、ロケールに基づいて文字列値を取得することになっています。問題は、レポートを実行しようとすると nullPointerException が発生することです。
式を使用する場合:
row["STATUS"]
または、元の式で静的な値を使用する場合
Messages.getString(
ServiceConfigHandler.getInstance().getStatusDesc("60"),
reportContext.getLocale())
レポートは正常に実行され、nullPointerException はスローされません。1 つ目は番号を文字列として取得し、2 つ目はステータス番号の目的の説明を取得します。
誰か助けてくれませんか?
編集:ステータスがxmlファイルから一度読み取られ、アプリケーションスコープのマップに保存されたため、XML解析に問題がありました。アプリケーションを再起動すると動作します。