Wednesday, August 23, 2006
Struts error message handling
There is a lot of material written on how to handle error messages with struts, but I would like outline implementation for specific use case that I had to implement today.
Scenario:
There is a form that does some work Once user submit the form, action performed and user redirected back to the initial page with form, displaying either error message in red color or success message in green color.
Message should be displayed only once, and subsequent refresh of the page should not display neither success or error message. No ".do" url should ever appear in address bar
Solution:
Create "success" and "error" message bundles and use 2 different instances of tag to control presentation. Make sure that in the action code either "success" or "error" resources keys are passed, not both. Errors then saved on the session, in order to survive http redirect. jsp page has logic for transering error o
Important Implementation points:
- In this implementation I specifically using session to store errors and use redirect ="true" attribute in action mapping config.
- Due my laziness, I am using FONT tags instead of CSS, but it does the job just fine.
- Errors then saved on the session, in order to survive http redirect.
- Jsp page has logic for transering error object from session to request scope, removing it afterwards. This is needed to display it only once, and avoid displaying messages upond page refresh after action performed.