Seamセッションスコープされたコンポーネントは、次のリクエストで消滅します

StackOverflow https://stackoverflow.com/questions/3952795

質問

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.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top