--- 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)
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..
__________________________________
Do you Yahoo!?
Yahoo! Mail - Helps protect you from nasty viruses.
http://promotions.yahoo.com/new_mail
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]