2

次の式を持つテーブルにデータ セルがあります。

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解析に問題がありました。アプリケーションを再起動すると動作します。

4

0 に答える 0