> The way we work around this is the Flow Synchronizer Token pattern that I
> learned from this list some time ago.  Each form carries a simple ID as a
> hidden field.  If the user submits a form that's not the one the server
> thinks is the current one, a specific exception is thrown that we can
> catch
> and show to the user as a reasonably friendly error page.  ("You've
> submitted a form twice or a form other than the one expected...")  I don't
> pretend that the users will totally grok this, but it's better than an
> unexpected-error punt and the data doesn't get corrupted.
> 

        I ended up taking that approach a set further and rolling my own
persistence Manager. Now I stick a token in every form as you do, but
instead of throwing an error if it's out of synch, I go into my persistence
manager (the ubiquitous static hashmap) and yank out persistent properties
to fill up the page object, overwriting whatever Tapestry's persistence
manager put there.

        It's a decent amount of extra work on my end, but it seems to be
working and I'd recommend it as an approach if anyone else finds they need
to do the same thing. 

        --- Pat



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

Reply via email to