类 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 aSessionAttributeStore
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 callsSessionStatus.setComplete()
.- 从以下版本开始:
- 3.1
- 作者:
- Rossen Stoyanchev, Juergen Hoeller
构造器概要
构造器 构造器 说明 SessionAttributesHandler(Class<?> handlerType, SessionAttributeStore sessionAttributeStore)
Create a new session attributes handler.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 void
cleanupAttributes(WebRequest request)
Remove "known" attributes from the session, i.e. attributes listed by name in@SessionAttributes
or attributes previously stored in the model that matched by type.boolean
hasSessionAttributes()
Whether the controller represented by this instance has declared any session attributes through anSessionAttributes
annotation.boolean
isHandlerSessionAttribute(String attributeName, Class<?> attributeType)
Whether the attribute name or type match the names and types specified via@SessionAttributes
on the underlying controller.Map<String,Object>
retrieveAttributes(WebRequest request)
Retrieve "known" attributes from the session, i.e. attributes listed by name in@SessionAttributes
or attributes previously stored in the model that matched by type.void
storeAttributes(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@SessionAttributes
annotation, 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 anSessionAttributes
annotation.
isHandlerSessionAttribute
public boolean isHandlerSessionAttribute(String attributeName, Class<?> attributeType)
Whether the attribute name or type match the names and types specified via@SessionAttributes
on 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@SessionAttributes
are 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@SessionAttributes
or 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@SessionAttributes
or attributes previously stored in the model that matched by type.- 参数:
request
- the current request