Seamセッションスコープされたコンポーネントは、次のリクエストで消滅します
-
08-10-2019 - |
質問
Seamセッションスコープコンポーネント、標準の縫い目のアイデンティティをオーバーライドするカスタムアイデンティティがあります(セッションスコープも)。拡張されたカスタムアイデンティティにはプロパティがあります
@Out(required=false, scope=ScopeType.SESSION)private User user
Overriden login()では、httpservletrequestの校長からの情報が入力されたユーザーオブジェクトを定義します。アプリケーションの最初のリクエストでは、ユーザーオブジェクトはセッションスコープで予想どおりに外出されます。ただし、2番目のリクエストでは、ユーザーオブジェクトがセッションから消滅し、注入するページにアクセスすると、例外が表示されます。
私の質問は、正確にコンポーネントが外れているときです。
- CustomIdentityコンポーネントのすべての方法の後(の参照が含まれていない場合でも
user
)? - ユーザーコンポーネントの参照を含む各メソッドの後?
そしてについて required
属性:
- 外出時にユーザーオブジェクトが評価します
null
, 、すでに外出したユーザーはセッションスコープから削除されますか?
乾杯!
解決
あなたの最初の質問に:コンポーネントは、 CustomIdentity
. 。対応するシームソースコードをご覧ください org.jboss.seam.core.BijectionInterceptor
(Seam 2.2.0)。 Bijectionは、コンポーネント、IE、クラス、レベルで行われます。
あなたの2番目の質問へ:へのリクエストが毎回 CustomIdentity
仕上げ、フィールドの価値は外れています。 Outjectionプロパティを使用する場合 require=false
, 、 user
それは現在あなたのセッションで外出されていますコンテキストは、 null
.
所属していません StackOverflow