You should follow PRG pattern mentioned in this answer.
Create a new action registrationSuccess
that will return your JSP page after redirect action result.
<action name="register" class="-----------">
<interceptor-ref name="store">
<param name="operationMode">STORE</param>
</interceptor-ref>
<interceptor-ref name="defaultStack" />
<result name="success" type="redirectAction">registrationSuccess</result>
</action>
<action name="registrationSuccess">
<interceptor-ref name="store">
<param name="operationMode">RETRIEVE</param>
</interceptor-ref>
<interceptor-ref name="defaultStack" />
<result name="success">registration.jsp</result>
</action>
You can use store
Interceptor to store action messages/errors in HTTP session. The action class should implement ValidationAware
.
The store
interceptor works between two actions, one of them store the messages, another retrieve them.
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 Result is
an instance of ServletRedirectResult
, the action's message / errors
and field errors into automatically be stored in the HTTP session..