struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Rodriguez Lopez <alo...@flordeutopia.pt>
Subject Re: PRG pattern question
Date Thu, 27 May 2010 12:15:14 GMT
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<szerintedmi@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-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Mime
View raw message