Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.1.5-SNAPSHOT
-
None
-
None
Description
Ok, this is a try to get what is described in the summary.
The heart of this patch is the RedirectTracker.
How it works:
*) In NavigationHandlerImpl when it comes to the redirect the RedirectTracker will capture all required (save-state beans/messages) data. The tracker appends a special parameter (_rtid=) to the redirect url so the saved state can be looked up in an map.
*) In LifeCycleImpl in restoreView the RedirectTracker will check for the special parameter and lookup the map using its value. If an entry was found the data will be restored.
*) In UISaveState every bean rematerialized in restoreState will put it in a request-scoped map
Known limitations:
*) need to make the number of tracked redirects configureable (back-button) currently its hard-coded to 20
*) some, as I didnt tested it very well
I added this patch as a base to discuss what could be made better, though the goal is to add this functionality to myFaces.
I hope some else jump in and we get a vital discussion about this topic.
Attachments
Attachments
Issue Links
- incorporates
-
MYFACES-1018 PhaseListener That Persists Messages After Redirects
- Closed
-
MYFACES-403 Use a PhaseListener to reinject FacesMessages lost during a redirection to the JSF context
- Closed
- is duplicated by
-
MYFACES-1198 Navigation mechanism with redirect
- Closed