Flash attribute support is now available. The javadoc for FlashMap and FlashMapManager provides an overview of the underlying support for flash attributes in Spring MVC while RedirectAttributes describes how to add flash attributes in annotated controllers. If you have the latest source checked out, I recommend reviewing the updated reference documentation starting with "What's New In 3.1".
To answer some of the specific questions raised above:
Will this flash implementation storing mvc messages and retrieving them using the spring:messages tags?
Flash attributes are automatically merged into the model and are therefore available for rendering.
Will it support storing ModelAttributes for passing a ModelAttribute across a redirect? Similar to @SessionAttribute but just for the redirect?
@SessionAttribute is probably a better candidate for passing an @ModelAttribute across controller methods; however, you can also also use the RedirectAttributes argument add any attribute as a flash attribute and have it survive across a specific redirect.
One FlashScope per session could be a problem if the user works with multiple browser windows or tabs at the same time.
We've taken a slightly different approach. Rather than adding a framework-specific generated key, RedirectView "stamps" FlashMap instances with the path and query params of the target redirect URL, which are then checked after the redirect. This is somewhat similar but is based on information already present in the redirect URL. This approach will address most issues like polling from another tab or resource requests but won't eliminate the possibility of collisions entirely. Specifically there is no support for multiple windows. That said if flash attributes are used in redirect scenarios only such collisions are much less likely. Furthermore, given that we already filter based on the query params of redirect URLs, it would be a small step to add a generated query param to the redirect URL if required.