Class DefaultSessionAttributeStore
- java.lang.Object
- org.springframework.web.bind.support.DefaultSessionAttributeStore
- All Implemented Interfaces:
SessionAttributeStore
public class DefaultSessionAttributeStore extends Object implements SessionAttributeStore
Default implementation of theSessionAttributeStore
interface, storing the attributes in the WebRequest session (i.e. HttpSession or PortletSession).
Constructor Summary
Constructors Constructor Description DefaultSessionAttributeStore()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
cleanupAttribute(WebRequest request, String attributeName)
Clean up the specified attribute in the backend session.protected String
getAttributeNameInSession(WebRequest request, String attributeName)
Calculate the attribute name in the backend session.Object
retrieveAttribute(WebRequest request, String attributeName)
Retrieve the specified attribute from the backend session.void
setAttributeNamePrefix(String attributeNamePrefix)
Specify a prefix to use for the attribute names in the backend session.void
storeAttribute(WebRequest request, String attributeName, Object attributeValue)
Store the supplied attribute in the backend session.
Constructor Detail
DefaultSessionAttributeStore
public DefaultSessionAttributeStore()
Method Detail
setAttributeNamePrefix
public void setAttributeNamePrefix(String attributeNamePrefix)
Specify a prefix to use for the attribute names in the backend session.Default is to use no prefix, storing the session attributes with the same name as in the model.
storeAttribute
public void storeAttribute(WebRequest request, String attributeName, Object attributeValue)
Description copied from interface:SessionAttributeStore
Store the supplied attribute in the backend session.Can be called for new attributes as well as for existing attributes. In the latter case, this signals that the attribute value may have been modified.
- Specified by:
storeAttribute
in interfaceSessionAttributeStore
- Parameters:
request
- the current requestattributeName
- the name of the attributeattributeValue
- the attribute value to store
retrieveAttribute
public Object retrieveAttribute(WebRequest request, String attributeName)
Description copied from interface:SessionAttributeStore
Retrieve the specified attribute from the backend session.This will typically be called with the expectation that the attribute is already present, with an exception to be thrown if this method returns
null
.- Specified by:
retrieveAttribute
in interfaceSessionAttributeStore
- Parameters:
request
- the current requestattributeName
- the name of the attribute- Returns:
- the current attribute value, or
null
if none
cleanupAttribute
public void cleanupAttribute(WebRequest request, String attributeName)
Description copied from interface:SessionAttributeStore
Clean up the specified attribute in the backend session.Indicates that the attribute name will not be used anymore.
- Specified by:
cleanupAttribute
in interfaceSessionAttributeStore
- Parameters:
request
- the current requestattributeName
- the name of the attribute
getAttributeNameInSession
protected String getAttributeNameInSession(WebRequest request, String attributeName)
Calculate the attribute name in the backend session.The default implementation simply prepends the configured
"attributeNamePrefix"
, if any.- Parameters:
request
- the current requestattributeName
- the name of the attribute- Returns:
- the attribute name in the backend session