public final class FlashMap extends HashMap<String,Object> implements Comparable<FlashMap>
A FlashMap can be set up with a request path and request parameters to
help identify the target request. Without this information, a FlashMap is
made available to the next request, which may or may not be the intended
recipient. On a redirect, the target URL is known and a FlashMap can be
updated with that information. This is done automatically when the
org.springframework.web.servlet.view.RedirectView
is used.
Note: annotated controllers will usually not use FlashMap directly.
See org.springframework.web.servlet.mvc.support.RedirectAttributes
for an overview of using flash attributes in annotated controllers.
FlashMapManager
,
Serialized FormAbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
Constructor and Description |
---|
FlashMap() |
Modifier and Type | Method and Description |
---|---|
FlashMap |
addTargetRequestParam(String name,
String value)
Provide a request parameter identifying the request for this FlashMap.
|
FlashMap |
addTargetRequestParams(MultiValueMap<String,String> params)
Provide request parameters identifying the request for this FlashMap.
|
int |
compareTo(FlashMap other)
Compare two FlashMaps and prefer the one that specifies a target URL
path or has more target URL parameters.
|
boolean |
equals(Object other) |
long |
getExpirationTime()
Return the expiration time for the FlashMap or -1 if the expiration
period has not started.
|
MultiValueMap<String,String> |
getTargetRequestParams()
Return the parameters identifying the target request, or an empty map.
|
String |
getTargetRequestPath()
Return the target URL path (or
null if none specified). |
int |
hashCode() |
boolean |
isExpired()
Return whether this instance has expired depending on the amount of
elapsed time since the call to
startExpirationPeriod(int) . |
void |
setExpirationTime(long expirationTime)
Set the expiration time for the FlashMap.
|
void |
setTargetRequestPath(String path)
Provide a URL path to help identify the target request for this FlashMap.
|
void |
startExpirationPeriod(int timeToLive)
Start the expiration period for this instance.
|
String |
toString() |
clear, clone, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, forEach, get, getOrDefault, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
public void setTargetRequestPath(@Nullable String path)
The path may be absolute (e.g. "/application/resource") or relative to the current request (e.g. "../resource").
@Nullable public String getTargetRequestPath()
null
if none specified).public FlashMap addTargetRequestParams(@Nullable MultiValueMap<String,String> params)
params
- a Map with the names and values of expected parameterspublic FlashMap addTargetRequestParam(String name, String value)
name
- the expected parameter name (skipped if empty)value
- the expected value (skipped if empty)public MultiValueMap<String,String> getTargetRequestParams()
public void startExpirationPeriod(int timeToLive)
timeToLive
- the number of seconds before expirationpublic void setExpirationTime(long expirationTime)
startExpirationPeriod(int)
.public long getExpirationTime()
public boolean isExpired()
startExpirationPeriod(int)
.public int compareTo(FlashMap other)
compareTo
in interface Comparable<FlashMap>
public boolean equals(Object other)
public int hashCode()
public String toString()
toString
in class AbstractMap<String,Object>