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]
