Are you using Seam?
No just JSF
(i know, i know i have to learn seam ...)
Looks like, it's not possible out of the box wthout Seam. Redirect creates new request, thus old request-scoped variables are cleared. You can save messages to session, however this doesn't look like a good solution either.
So implementing two phase listeners
- one saving the messages to session
- one restoring the messages from session
is the only way? That can't be ...
It doesn't feel right
Resolved this issue by putting all FacesMessages to Session and restored them by a Phase Listener before RENDER_RESPONSE.