Class SessionAttributesHandler
java.lang.Object
org.springframework.web.method.annotation.SessionAttributesHandler
Manages controller-specific session attributes declared via
 
@SessionAttributes. Actual storage is
 delegated to a SessionAttributeStore instance.
 When a controller annotated with @SessionAttributes adds
 attributes to its model, those attributes are checked against names and
 types specified via @SessionAttributes. Matching model attributes
 are saved in the HTTP session and remain there until the controller calls
 SessionStatus.setComplete().
- Since:
- 3.1
- Author:
- Rossen Stoyanchev, Juergen Hoeller
- 
Constructor SummaryConstructorsConstructorDescriptionSessionAttributesHandler(Class<?> handlerType, SessionAttributeStore sessionAttributeStore) Create a new session attributes handler.
- 
Method SummaryModifier and TypeMethodDescriptionvoidcleanupAttributes(WebRequest request) Remove "known" attributes from the session, i.e.booleanWhether the controller represented by this instance has declared any session attributes through anSessionAttributesannotation.booleanisHandlerSessionAttribute(String attributeName, Class<?> attributeType) Whether the attribute name or type match the names and types specified via@SessionAttributeson the underlying controller.retrieveAttributes(WebRequest request) Retrieve "known" attributes from the session, i.e.voidstoreAttributes(WebRequest request, Map<String, ?> attributes) Store a subset of the given attributes in the session.
- 
Constructor Details- 
SessionAttributesHandlerCreate a new session attributes handler. Session attribute names and types are extracted from the@SessionAttributesannotation, if present, on the given type.- Parameters:
- handlerType- the controller type
- sessionAttributeStore- used for session access
 
 
- 
- 
Method Details- 
hasSessionAttributespublic boolean hasSessionAttributes()Whether the controller represented by this instance has declared any session attributes through anSessionAttributesannotation.
- 
isHandlerSessionAttributeWhether the attribute name or type match the names and types specified via@SessionAttributeson the underlying controller.Attributes successfully resolved through this method are "remembered" and subsequently used in retrieveAttributes(WebRequest)andcleanupAttributes(WebRequest).- Parameters:
- attributeName- the attribute name to check
- attributeType- the type for the attribute
 
- 
storeAttributesStore a subset of the given attributes in the session. Attributes not declared as session attributes via@SessionAttributesare ignored.- Parameters:
- request- the current request
- attributes- candidate attributes for session storage
 
- 
retrieveAttributesRetrieve "known" attributes from the session, i.e. attributes listed by name in@SessionAttributesor attributes previously stored in the model that matched by type.- Parameters:
- request- the current request
- Returns:
- a map with handler session attributes, possibly empty
 
- 
cleanupAttributesRemove "known" attributes from the session, i.e. attributes listed by name in@SessionAttributesor attributes previously stored in the model that matched by type.- Parameters:
- request- the current request
 
 
-