Em 26-05-2010 16:57, Chris Pratt escreveu:
If you search the forum, someone posted an Interceptor (quite a while ago)
that saves the Action/Field Errors/Messages in the Session so that they will
survive a redirect.  It could easily be extended to do what you require.
   (*Chris*)

I think this interceptor is already included in S2.

What I use:

<!-- Action messages and errors auto-stored in session -->
                        <interceptor-ref name="store">
                                <param name="operationMode">AUTOMATIC</param>
                        </interceptor-ref>

And it does what it says :D


On Wed, May 26, 2010 at 5:45 AM, szerintedmi<szerinte...@gmail.com>  wrote:

Hi Everybody,

I would like to ask some advice implementing PRG pattern with struts2
(using
2.0.14).

I can easily handle a normal scenario :
1.GET showItem.action?itemId=1
    result: showItem.jsp
2. POST saveItem.action
   result: redirect-action: success?itemId=1
3. GET success?itemId =1
  result: success.jsp

Browser back works perfectly with this workflow.

However if there is a form error at step 2.:
1. GET showItem.action?itemId=1
  result: showItem.jsp
2.1 POST saveItem.action
   result: showItem.jsp (with field/action errors)
2.2 POST saveItem.action (user fixed errors on form)
  result: redirect-action: success?itemId=1
3. GET success?itemId=1
  result: success.jsp

In this scenario if the user press back after the 3rd step he gets a page
with saveItem.action url (without params) and with a re-submit browser
alert.

If a form validation error happens I could use a redirect-action result to
showItem.action at step 2.1.
But that way I'm loosing all the posted form data and the data field/action
errors.

Alternativelly I could use the same action to show and save, that way url
would be showItem after 2.1 but still without url params. I could hack url
query string to the reponse but still have re-submit alerts from browser
after user press back button because that was a result of a post.

What is the best practice to handle form errors with struts if I want to
implement Post-Redirect-Get pattern?

Thanks,

Peter




---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to