0

私は次のコントローラーを持っています:

public static Result overview() {

    class Earning {
        public int ammount;
        public String description;
    }

    Earning[] earnings = new Earning[5];

    earnings[0].ammount = 5;

    return ok(overview.render(earnings));
}

Java で取得する必要があるため、対応するオブジェクトを配列に作成しませんでした: java.lang.NullPointerException

しかし、このエラーを表示する代わりに、Play フレームワークがクラ​​ッシュします。

フレームワークをクラッシュさせず、最初にエラーを表示しない方法はありますか?

4

2 に答える 2

2

追加:

earnings[0] = new Earning();

前:

earnings[0].ammount = 5;

このようにearnings[0]して、オブジェクトが保持され、そのフィールドEarningにアクセスできるようになります。ammount

于 2013-08-18T08:48:01.137 に答える
0

概要メソッド内で Earning クラスを宣言しないでください。このクラスはメソッド本体でのみアクセスできるはずですが、ビューに渡すことで「リーク」するため、可視性の問題が発生しています。

于 2013-08-18T10:00:00.910 に答える