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]