类 SessionAttributesHandler
- java.lang.Object
- org.springframework.web.method.annotation.SessionAttributesHandler
public class SessionAttributesHandler extends Object
Manages controller-specific session attributes declared via@SessionAttributes. Actual storage is delegated to aSessionAttributeStoreinstance.When a controller annotated with
@SessionAttributesadds 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 callsSessionStatus.setComplete().- 从以下版本开始:
- 3.1
- 作者:
- Rossen Stoyanchev, Juergen Hoeller
构造器概要
构造器 构造器 说明 SessionAttributesHandler(Class<?> handlerType, SessionAttributeStore sessionAttributeStore)Create a new session attributes handler.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 voidcleanupAttributes(WebRequest request)Remove "known" attributes from the session, i.e. attributes listed by name in@SessionAttributesor attributes previously stored in the model that matched by type.booleanhasSessionAttributes()Whether 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.Map<String,Object>retrieveAttributes(WebRequest request)Retrieve "known" attributes from the session, i.e. attributes listed by name in@SessionAttributesor attributes previously stored in the model that matched by type.voidstoreAttributes(WebRequest request, Map<String,?> attributes)Store a subset of the given attributes in the session.
构造器详细资料
SessionAttributesHandler
public SessionAttributesHandler(Class<?> handlerType, SessionAttributeStore sessionAttributeStore)
Create a new session attributes handler. Session attribute names and types are extracted from the@SessionAttributesannotation, if present, on the given type.- 参数:
handlerType- the controller typesessionAttributeStore- used for session access
方法详细资料
hasSessionAttributes
public boolean hasSessionAttributes()
Whether the controller represented by this instance has declared any session attributes through anSessionAttributesannotation.
isHandlerSessionAttribute
public boolean isHandlerSessionAttribute(String attributeName, Class<?> attributeType)
Whether 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).- 参数:
attributeName- the attribute name to checkattributeType- the type for the attribute
storeAttributes
public void storeAttributes(WebRequest request, Map<String,?> attributes)
Store a subset of the given attributes in the session. Attributes not declared as session attributes via@SessionAttributesare ignored.- 参数:
request- the current requestattributes- candidate attributes for session storage
retrieveAttributes
public Map<String,Object> retrieveAttributes(WebRequest request)
Retrieve "known" attributes from the session, i.e. attributes listed by name in@SessionAttributesor attributes previously stored in the model that matched by type.- 参数:
request- the current request- 返回:
- a map with handler session attributes, possibly empty
cleanupAttributes
public void cleanupAttributes(WebRequest request)
Remove "known" attributes from the session, i.e. attributes listed by name in@SessionAttributesor attributes previously stored in the model that matched by type.- 参数:
request- the current request