Dan, 

I did something in the past related to this, before Struts was available
(I think). It required new instances of an "action" to be created for
each "jump with return", which cluttered the session but enabled these
"actions" to store state about the process. Anyway, the one thing I
learned, no matter what approach I take, is that the state of where the
user is - be it the page, step, next step, where you came from, etc.
should be in the form as a hidden field (i.e. dealt with in request
scope) whenever possible. This allows the server to always stay in sync
with the user, no matter if they use the back button or open a new
browser window and start a new wizard, since the previous form has its
wizard state, such as its current page, in the HTML and not on the
server side where it can get out of sync. Stacks on the server side are
painful and never work, but lists with an index to the current location
in the wizard that are always sent to the action in the request (via a
hidden variable in the form) work best. 

HTH,
James

> -----Original Message-----
> From: Dan Cancro [mailto:[EMAIL PROTECTED]] 
> Sent: Monday, September 23, 2002 8:43 PM
> To: '[EMAIL PROTECTED]'
> Subject: [OT][WORKFLOW] Any best practice for "back", "save", 
> "continue" buttons?
> 
> 
> I'm thinking about a design where I maintain a URL stack in a 
> session variable that stores where a user has been, so that 
> clicking a "back" button (not the browser's) will take a user 
> to the right place.  It would work like
> this:
> 
> Click a "Continue" button -> Push a new URL onto the stack, 
> and take the user to that page
> Click a "Save" button     -> Leave the stack alone, and 
> return the user to
> the same page
> Click a "Back" button     -> Pop a URL from the stack and 
> take the user to
> the URL on the top of the stack.
> Click a "Done" button     -> Clear the stack.  This would 
> happen when you
> click a link on a top nav bar or the finish button in a 
> wizard, for example.
> 
> These would be the basic types of navigation.  The actual 
> labels on the buttons or links could be whatever you want.  
> For example, you could have a "Continue" button labeled 
> "Save" that takes the user to another page.
> 
> Has anyone tried something like this with good or bad results?
> 
> Thanks,
> Dan
> 
> --
> To unsubscribe, e-mail:   
> <mailto:struts-user-> [EMAIL PROTECTED]>
> For 
> additional commands, 
> e-mail: <mailto:[EMAIL PROTECTED]>
> 
> 

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

tsdok

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to