public class SessionAttributesHandler extends Object
@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().
| Constructor and Description | 
|---|
| SessionAttributesHandler(Class<?> handlerType,
                        SessionAttributeStore sessionAttributeStore)Create a new session attributes handler. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | cleanupAttributes(WebRequest request)Remove "known" attributes from the session, i.e. | 
| boolean | hasSessionAttributes()Whether the controller represented by this instance has declared any
 session attributes through an  SessionAttributesannotation. | 
| boolean | isHandlerSessionAttribute(String attributeName,
                         Class<?> attributeType)Whether the attribute name or type match the names and types specified
 via  @SessionAttributeson the underlying controller. | 
| Map<String,Object> | retrieveAttributes(WebRequest request)Retrieve "known" attributes from the session, i.e. | 
| void | storeAttributes(WebRequest request,
               Map<String,?> attributes)Store a subset of the given attributes in the session. | 
public SessionAttributesHandler(Class<?> handlerType, SessionAttributeStore sessionAttributeStore)
@SessionAttributes annotation, if present,
 on the given type.handlerType - the controller typesessionAttributeStore - used for session accesspublic boolean hasSessionAttributes()
SessionAttributes annotation.public boolean isHandlerSessionAttribute(String attributeName, Class<?> attributeType)
@SessionAttributes on the underlying controller.
 Attributes successfully resolved through this method are "remembered"
 and subsequently used in retrieveAttributes(WebRequest) and
 cleanupAttributes(WebRequest).
attributeName - the attribute name to checkattributeType - the type for the attributepublic void storeAttributes(WebRequest request, Map<String,?> attributes)
@SessionAttributes are ignored.request - the current requestattributes - candidate attributes for session storagepublic Map<String,Object> retrieveAttributes(WebRequest request)
@SessionAttributes or attributes previously stored
 in the model that matched by type.request - the current requestpublic void cleanupAttributes(WebRequest request)
@SessionAttributes or attributes previously stored
 in the model that matched by type.request - the current request