Home > Guides > Core Developers Guide > Interceptors > Message Store Interceptor |
An interceptor to store a ValidationAware action's messages / errors and field errors into HTTP Session, such that it will be retrievable at a later stage. This allows the action's message / errors and field errors to be available longer that just the particular HTTP request.
If no session exists, nothing will be stored and can be retrieved later. In other terms, the application is responsible to open the session.
In the 'STORE' mode, the interceptor will store the ValidationAware action's message / errors and field errors into HTTP session.
In the 'RETRIEVE' mode, the interceptor will retrieve the stored action's message / errors and field errors and put them back into the ValidationAware action.
In the 'AUTOMATIC' mode, the interceptor will always retrieve the stored action's message / errors and field errors and put them back into the ValidationAware action, and after Action execution, if the com.opensymphony.xwork2.Result is an instance of ServletRedirectResult, the action's message / errors and field errors into automatically be stored in the HTTP session..
The interceptor does nothing in the 'NONE' mode, which is the default.
The operation mode could be switched using :-
1] Setting the iterceptor parameter eg.<action name="submitApplication" ...> <interceptor-ref name="store"> <param name="operationMode">STORE</param> </interceptor-ref> <interceptor-ref name="defaultStack" /> .... </action>
2] Through request parameter (allowRequestParameterSwitch must be 'true' which is the default)
// the request will have the operation mode in 'STORE' http://localhost:8080/context/submitApplication.action?operationMode=STORE
The following method could be overriden :-