クラス SessionAttributesHandler
java.lang.ObjectSE
org.springframework.web.method.annotation.SessionAttributesHandler
@SessionAttributes
を介して宣言されたコントローラー固有のセッション属性を管理します。実際のストレージは SessionAttributeStore
インスタンスに委譲されます。@SessionAttributes
アノテーションが付けられたコントローラーがモデルに属性を追加すると、それらの属性は @SessionAttributes
を介して指定された名前と型に対してチェックされます。一致するモデル属性は HTTP セッションに保存され、コントローラーが SessionStatus.setComplete()
を呼び出すまでそこに残ります。
- 導入:
- 3.1
- 作成者:
- Rossen Stoyanchev, Juergen Hoeller
フィールドサマリー
コンストラクターのサマリー
コンストラクター説明SessionAttributesHandler
(ClassSE<?> handlerType, SessionAttributeStore sessionAttributeStore) 新しいセッション属性ハンドラーを作成します。方法の概要
修飾子と型メソッド説明void
cleanupAttributes
(WebRequest request) セッションから「既知の」属性を削除します。boolean
このインスタンスによって表されるコントローラーが、SessionAttributes
アノテーションを介してセッション属性を宣言したかどうか。boolean
isHandlerSessionAttribute
(StringSE attributeName, ClassSE<?> attributeType) 属性の名前または型が、基になるコントローラーの@SessionAttributes
を介して指定された名前および型と一致するかどうか。retrieveAttributes
(WebRequest request) セッションから「既知の」属性、つまりvoid
storeAttributes
(WebRequest request, MapSE<StringSE, ?> attributes) 指定された属性のサブセットをセッションに保存します。
フィールドの詳細
SESSION_KNOWN_ATTRIBUTE
セッション属性としての既知の属性名ストレージのキー (文字列配列)。これは、同じクラスのハンドラーメソッドが異なるサーバーで呼び出される可能性がある分散セッションシナリオで、型ベースのセッション属性を一貫して処理するために必要です。
- 導入:
- 6.1.4
コンストラクターの詳細
SessionAttributesHandler
public SessionAttributesHandler(ClassSE<?> handlerType, SessionAttributeStore sessionAttributeStore) 新しいセッション属性ハンドラーを作成します。セッション属性の名前と型は、指定された型の@SessionAttributes
アノテーション(存在する場合)から抽出されます。- パラメーター:
handlerType
- コントローラーの型sessionAttributeStore
- セッションアクセスに使用
メソッドの詳細
hasSessionAttributes
public boolean hasSessionAttributes()このインスタンスによって表されるコントローラーが、SessionAttributes
アノテーションを介してセッション属性を宣言したかどうか。isHandlerSessionAttribute
属性の名前または型が、基になるコントローラーの@SessionAttributes
を介して指定された名前および型と一致するかどうか。このメソッドによって正常に解決された属性は「記憶」され、その後
retrieveAttributes(WebRequest)
およびcleanupAttributes(WebRequest)
で使用されます。- パラメーター:
attributeName
- チェックする属性名attributeType
- 属性の型
storeAttributes
指定された属性のサブセットをセッションに格納します。@SessionAttributes
を介してセッション属性として宣言されていない属性は無視されます。- パラメーター:
request
- 現在のリクエストattributes
- セッションストレージの候補属性
retrieveAttributes
セッションから「既知の」属性、つまり、@SessionAttributes
の名前でリストされた属性、型で一致したモデルに以前に保存された属性を取得します。- パラメーター:
request
- 現在のリクエスト- 戻り値:
- おそらく空のハンドラーセッション属性を持つマップ
cleanupAttributes
セッションから「既知の」属性を削除します。つまり、@SessionAttributes
に名前でリストされた属性、型によって一致した、モデルに以前に保存された属性。- パラメーター:
request
- 現在のリクエスト