セッション スコープの JSF マネージド Bean をビュー スコープに変換しようとしています。ただし、この Bean の xhtml ページにアクセスしようとすると、次のエラーが発生します。
java.io.NotSerializableException: foo.bar.SomeDaoClass
Bean 内の永続性関連のタスクを委任するために使用するヘルパー DAO のメンバーがあります。この DAO クラスに Serializable を実装すると、他の UIComponent 参照が同じエラーを引き起こし始めます。
主な使用例は、セッション Bean によってサポートされている xhtml ページを表示する jquery ライトボックス ポップアップを開くリンクをクリックすることです。ユーザーがポップアップ フォームの送信ボタンをクリックすると、セッション Bean がプログラムによって削除されます。問題は、ユーザーがポップアップ自体の閉じるボタンをクリックし、別の ID を指す別のリンクをクリックすると、同じ値が表示されることです (セッション スコープで)。
ビュー スコープを使用して、このフォームをポップアップで表示しているときに値を保持したいと思います。ユーザーがポップアップの閉じるボタンをクリックすると、値が破棄される場合があります。