Have you tried overloading page.activate() to load your domain object?

I find it a bit hard to suggest a solution as I don't know how you identity 
your domain object.
How do you know which one to load? Also is the form in a component or a 
page.

In general I think a good solution is using a proxy domain object that loads 
the actual one and passes on operations on it.

I identify the user domain object in a ServletFilter, so once Tapestry 
handles the request there will always be a domain object.

Henrik

"Reggie Chan" <[EMAIL PROTECTED]> skrev i en meddelelse 
news:[EMAIL PROTECTED]
> I'm using tapestry 4 and hibernate in our application, we are using ognl 
> to update the domain object's properties like user.login, user.email etc.. 
> However, we are unable to load the user object before these properties 
> being set during the rewind stage.
>
> After looking at mailing list archive and forum, I've found the following 
> approaches to deal with the problems
>
> 1. Adding a hidden field as the first input in the form and use 
> IActionListener to load the domain object from hibernate. This relies on 
> the fact that I.E. passes first fields up in the order of they are shown 
> in the form. However, does it have to happen for other browsers and for 
> I.E. 7 for future extensibility? I've found that firefox use the order 
> that the input nodes created instead of the order that they are shown in 
> the html. Although in this case, most likely, the hidden key input would 
> still be the first input to be passed to the server, this does show the 
> possibility that different browser could have different behavior in that 
> aspect.
>
> 2. Using DataSqueezer to load the domain object. I haven't tried this yet, 
> but does it always have to ensure that the hidden key field is passed as 
> the first input?
>
> 3. Using a "fake" domain object and then copy all properties over to the 
> real domain object before save.
>
> 4. Temporarily save the properties to the page object then copy all to the 
> real domain object before save.
>
> 5. Use http session to persist the domain object, but the user will not be 
> able to open muiltiple tags in firefox or clone a new browser instance by 
> "Ctrl-n" in I.E. as they will share the same session.
>
> 6. Use http session as 5., but add a sychronization token in all form to 
> avoid mis-updating.
>
> I think this problem is pretty much a common problem to many users, could 
> someone share how they deal with this issue and give us some advice on the 
> issue. We're afraid that we've missed out some better ways to deal with 
> the issue in tapestry, as we are new to tapestry e.g. we can tell tapestry 
> to set certain properties first and the others after instead of relying on 
> browser's behavior, etc.. Our development team has struggled in this issue 
> pretty badly.
>
> Thanks in advance!
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
> 




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

Reply via email to