Sorry, I mean copyProperties().

You can find the differences defined below:

http://jakarta.apache.org/commons/beanutils/api/org/apache/commons/beanutils
/BeanUtils.html#copyProperties(java.lang.Object, java.lang.Object)

http://jakarta.apache.org/commons/beanutils/api/org/apache/commons/beanutils
/BeanUtils.html#populate(java.lang.Object, java.util.Map)


robert

> -----Original Message-----
> From: Caroline Jen [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, January 07, 2004 2:13 PM
> To: Struts Users Mailing List
> Subject: RE: All The Bean Properties Are Null in the Business Tier!!!
> (Used BeanUtils to Convert DynaValidatorForm)
>
>
> What does BeanUtils.populate(); do?  I used
> BeanUtils.copyProperties();
> Does it make any difference?
>
> --- Robert Taylor <[EMAIL PROTECTED]> wrote:
> > Have you checked to make sure that the fields you
> > expect
> > actually exist in the form before calling
> > BeanUtils.populate()?
> >
> > If so, have you checked to see if the data was
> > copied properly
> > just after BeanUtils.populate()?
> >
> > BeanUtils.populate() uses reflection to copy
> > properties.
> > Are you usingproper JavaBeans naming convention?
> >
> > Try and isolate exactly where the data is getting
> > "lost".
> >
> > I use BeanUtils.populate() all the time with
> > DynaXXXXForms and
> > have no problems. Usually when I do, I find that my
> > data member
> > names don't correspond.
> >
> > robert
> >
> > > -----Original Message-----
> > > From: Caroline Jen [mailto:[EMAIL PROTECTED]
> > > Sent: Wednesday, January 07, 2004 1:42 PM
> > > To: [EMAIL PROTECTED]
> > > Subject: All The Bean Properties Are Null in the
> > Business Tier!!! (Used
> > > BeanUtils to Convert DynaValidatorForm)
> > >
> > >
> > > Hi, my program compiled OKay.  When I ran the
> > > application, somehow, the properties of my
> > > DynaValidatorForm are not passed from the action
> > class
> > > to the business tier and then to the data access
> > tier.
> > >  Please help me taking a look at what went wrong.
> >
> > >
> > > It looks that the validation worked fine:
> > >
> > > <form-bean
> > >     name="postForm"
> > >
> > >
> >
> type="org.apache.struts.validator.DynaValidatorForm">
> > >        <form-property
> > >             name="receiver"
> > >             type="java.lang.String"/>
> > >        <form-property
> > >             name="sender"
> > >             type="java.lang.String"/>
> > >     .....
> > >     .....
> > > </form-bean>
> > > because when I intentionally left several of the
> > text
> > > fields blank and submitted my JSP form, an applet
> > got
> > > prompted showing something in those fields are
> > > required.
> > >
> > > In my action class (see below),  I used BeanUtils
> > to
> > > copy all the properties of the DynaValidatorForm
> > to a
> > > bean (ThreadBean):
> > >
> > > DynaActionForm postForm = ( DynaActionForm )form;
> > > ThreadBean threadBean = new ThreadBean();
> > > BeanUtils.copyProperties( threadBean, postForm );
> > >
> > > I then added a number of properties with
> > pre-defined
> > > values to the ThreadBean in the Action class:
> > >
> > > Timestamp now = DateUtil.getCurrentGMTTimestamp();
> > > threadBean.setThreadCreationDate( now );
> > > threadBean.setThreadViewCount( 0 );
> > >
> > > I then called a method in a service class
> > > ThreadHandler and passing threadBean as the
> > parameter
> > > of that method:
> > >
> > > ThreadHandler thandler = new ThreadHandler();
> > > threadID = thandler.insertThread( threadBean );
> > >
> > > In the ThreadHandler class (see below), I first
> > tried
> > > to retrieve the values of those properties from
> > the
> > > ThreadBean.  I FOUND OUT ALL THOSE VALUES ARE
> > NULL!
> > >
> > > class ThreadHandler extends ThreadBean
> > > {
> > >    int threadID = getThreadID();
> > >    String receiver = getReceiver();
> > >    String sender = getSender();
> > >    Timestamp threadCreationDate =
> > > getThreadCreationDate();
> > >    int threadViewCount = getThreadViewCount();
> > >
> > >    public ThreadHandler() {}
> > >
> > >    MessageDAO md = new MySQLMessageDAO();
> > >
> > >    public int insertThread( ThreadBean threadBean
> > )
> > >                             throws
> > > MessageDAOSysException, ObjectNotFoundException
> > >    {
> > >       md.createThread( receiver, sender,
> > >                    threadCreationDate,
> > threadViewCount
> > > );
> > >
> > >       .....
> > >       .....
> > >
> > >       return threadID;
> > >    }
> > > }
> > >
> > >
> > >
> > >
> > >
> > > __________________________________
> > > Do you Yahoo!?
> > > Yahoo! Hotjobs: Enter the "Signing Bonus"
> > Sweepstakes
> > > http://hotjobs.sweepstakes.yahoo.com/signingbonus
> > >
> > >
> >
> ---------------------------------------------------------------------
> > > 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]
> >
>
>
> __________________________________
> Do you Yahoo!?
> Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes
> http://hotjobs.sweepstakes.yahoo.com/signingbonus
>
> ---------------------------------------------------------------------
> 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