struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Caroline Jen <jiapei_...@yahoo.com>
Subject All The Bean Properties Are Null in the Business Tier!!! (Used BeanUtils to Convert DynaValidatorForm)
Date Wed, 07 Jan 2004 18:42:11 GMT
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: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org


Mime
View raw message