> -----Original Message----- > From: Woodchuck [mailto:[EMAIL PROTECTED] > Sent: Thursday, August 12, 2004 9:29 AM > To: Struts Users Mailing List > Subject: RE: lifetime of ActionForm objects > > > > --- Jim Barrows <[EMAIL PROTECTED]> wrote: > > > > > > > > -----Original Message----- > > > From: Woodchuck [mailto:[EMAIL PROTECTED] > > > Sent: Thursday, August 12, 2004 7:24 AM > > > To: struts > > > Subject: lifetime of ActionForm objects > > > > > > > > > the following is my understanding, can someone please > verify that i > > > have it correct? > > > > > > - when a form is first submitted, Struts will create an instance > > of > > > the ActionForm and then attempt to populate the submitted field > > data > > > via the JavaBean convention into the ActionForm object > > > > > > - this ActionForm object 'lives' in the session context > > > > > > - the next time the same form is submitted, Struts does not > > create a > > > new instance, but uses the one it created before > > > > Actually, any form using that name... you can have several actions > > all using the same form name. > > agreed. but is my assumption correct that ActionForms are initially > created then re-used? or are ActionForms only request scope, and > Struts creates a new instance each time a form is submitted (ie. prior > to Action being invoked)? > > > > > > > > > > the reason i'm asking is because i have a situation where it > > > seems like > > > the html form is linked directly to an object that i keep in > > > session... > > > i don't know how this is happening, but when i submit my form, the > > > object 'automatically' gets updated with the submitted > form data... > > > however, this object is not even an ActionForm object... it's > > > an object > > > that i manually copy ActionForm data to, but somehow it seems to > > have > > > been 'linked' to the html form and the next time the data fields > > are > > > updated before i even copy them there > > > > How are you doing the copy? I'm betting that the copy is > binding the > > objects together in some way. If all your doing is objectA=objectB > > (stringA = stringB) you aren't really copying in java, your > sharing a > > reference to the same object. If stringB is in the form, then every > > time stringB changes, everything referencing stringB will change, > > including stringA > > > > that's what i thought too, but i'm not doing objectA = objectB, i'm > doing objectB.setMyField(objectA.getMyField())... > i've also tried using BeanUtils.copyProperties(objectB, objectA)
Both of these would end up doing a myField=inputField though correct? and if the target of the object copy is also in session, or worse as a class member.... > > in both cases, the mysterious binding is there and when i interrogate > my object in session (before my copy field data logic), the data is > already there somehow from the html form! ..i'm at a loss still as to > how this 'bind' is possible.. > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

