以下の内容はhttps://anton0825.hatenablog.com/entry/2015/10/04/000000より取得しました。


JSFのViewScopeの落とし穴

ViewScopeでやたらハマるので落とし穴をまとめた。

  • リクエスト毎にインスタンスが再生成される ViewScopeなのでURLが変わらないうちはインスタンスはずっと保持されるんだろうと思ったら、そうではないっぽい。 初回表示のGET時とPOST BACK時でBacking Beanのインスタンスが違う。勿論そのフィールド変数も違う。値は同じものが入っている。毎回serialize, deserializeされているようだ。 そうするとDDDでいうところのEntityをBacking Beanのフィールドに持たせるといつの間にか別のオブジェクトになっていてバグる。勿論ValueObjectなら問題無い。

  • ViewScopeなBacking Beanはrestore view phaseではまだ復元されていない。そのため、binding attributeなどでViewにバインディングするとエラーになる

参考:

http://balusc.omnifaces.org/2010/06/benefits-and-pitfalls-of-viewscoped.html




以上の内容はhttps://anton0825.hatenablog.com/entry/2015/10/04/000000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14