Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.springframework.web.servlet
Class FlashMap

    java.lang.Object
      java.util.AbstractMap<K,V>
          java.util.HashMap<String,Object>
              org.springframework.web.servlet.FlashMap

All Implemented Interfaces:
  Serializable, Cloneable, Comparable<FlashMap>, Map<String,Object>

    public final class FlashMap

extends HashMap<String,Object>
implements Comparable<FlashMap>

A FlashMap provides a way for one request to store attributes intended for use in another. This is most commonly needed when redirecting from one URL to another -- e.g. the Post/Redirect/Get pattern. A FlashMap is saved before the redirect (typically in the session) and is made available after the redirect and removed immediately.

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.

Since:
  3.1
Author:
  Rossen Stoyanchev
See Also:
  `FlashMapManager`, Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class java.util.AbstractMap
`AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>`

Constructor Summary
`FlashMap()`

Method Summary
`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.
`MultiValueMap<String,String>` | `getTargetRequestParams()` Return the parameters identifying the target request, or an empty map.
`String` | `getTargetRequestPath()` Return the target URL path or `null`.
`boolean` | `isExpired()` Whether this instance has expired depending on the amount of elapsed time since the call to `startExpirationPeriod(int)`.
`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()`

Methods inherited from class java.util.HashMap
`clear, clone, containsKey, containsValue, entrySet, get, isEmpty, keySet, put, putAll, remove, size, values`

Methods inherited from class java.util.AbstractMap
`equals, hashCode`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface java.util.Map
`equals, hashCode`

Constructor Detail

### FlashMap

    public FlashMap()

Method Detail

### setTargetRequestPath

    public void setTargetRequestPath(String path)

  Provide a URL path to help identify the target request for this FlashMap. The path may be absolute (e.g. /application/resource) or relative to the current request (e.g. ../resource).

  Parameters:
    `path` - the URI path

### getTargetRequestPath

    public String getTargetRequestPath()

  Return the target URL path or `null`.

### addTargetRequestParams

    public FlashMap addTargetRequestParams(MultiValueMap<String,String> params)

  Provide request parameters identifying the request for this FlashMap.

  Parameters:
    `params` - a Map with the names and values of expected parameters.

### addTargetRequestParam

    public FlashMap addTargetRequestParam(String name,
                                          String value)

  Provide a request parameter identifying the request for this FlashMap.

  Parameters:
    `name` - the expected parameter name, skipped if empty or `null`
    `value` - the expected value, skipped if empty or `null`

### getTargetRequestParams

    public MultiValueMap<String,String> getTargetRequestParams()

  Return the parameters identifying the target request, or an empty map.

### startExpirationPeriod

    public void startExpirationPeriod(int timeToLive)

  Start the expiration period for this instance.

  Parameters:
    `timeToLive` - the number of seconds before expiration

### isExpired

    public boolean isExpired()

  Whether this instance has expired depending on the amount of elapsed time since the call to `startExpirationPeriod(int)`.

### compareTo

    public int compareTo(FlashMap other)

  Compare two FlashMaps and prefer the one that specifies a target URL path or has more target URL parameters. Before comparing FlashMap instances ensure that they match a given request.

  Specified by:
    `compareTo` in interface `Comparable<FlashMap>`

### toString

    public String toString()

  Overrides:
    `toString` in class `AbstractMap<String,Object>`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD