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*)
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 >