Thank you Craig,

I see the point, You are right it makes a lot of sense. But the behind the
scene matter of my question was the performance reason.
I have to copy all the properties of ActionForm to appropriate business
logic object. The clean way of doing this is using the reflection API, which
is rather slow.

regards Wojtek

----- Original Message -----
From: "Craig R. McClanahan" <[EMAIL PROTECTED]>
To: "Struts Developers List" <[EMAIL PROTECTED]>; "box"
<[EMAIL PROTECTED]>
Sent: Sunday, November 25, 2001 7:14 AM
Subject: Re: General model question ?


>
>
> On Thu, 22 Nov 2001, box wrote:
>
> > Date: Thu, 22 Nov 2001 19:36:25 +0100
> > From: box <[EMAIL PROTECTED]>
> > Reply-To: Struts Developers List <[EMAIL PROTECTED]>,
> >      box <[EMAIL PROTECTED]>
> > To: [EMAIL PROTECTED]
> > Subject: General model question ?
> >
> > Hi everybody,
> >
> >  I am new to struts, but I find them very usefull.
> >
> >  There is one question that bothers me.
> >
> >  Wy is ActionForm a class not an interface ?
> >
> >  I have got my own application data model and I would just need  to
> > implement
> >  the ActionForm to update/input the data via html forms.
> >
> >  But it's not possible - I must inherit the struts structure, so I have
to
> >  create ActionForm with get, set methods and after all copy all
properties
> >  between my data model and the corresponding ActionForm.
> >
> >  Am I missing something ?
> >
>
> ActionForm is a class in order to *prevent* exactly the behavior you
> propose :-).
>
> The purpose of an ActionForm is to contain the server-side state of the
> input fields, for the following reasons:
>
> * So that you can validate them (you don't want invalid data
>   being scribbled into your application data objects by Struts's
>   automatic bean population)
>
> * So that you can reproduce the user's input data in case of an
>   error such as an invalid integer (you would use a String in the
>   ActionForm for an EJB property that is an "int").
>
> * So that your application data objects can be reused in non-Struts
>   contexts (otherwise, they would always require struts.jar to be around).
>
> You *really* don't want to modify anything in your application data model
> until *after* validation has succeeded.  That's why the Struts design
> pattern is to do this in an Action, by copying the appropriate values from
> the ActionForm into your application data objects, performing any data
> conversions that are necessary.  Making ActionForm a class instead of an
> interface forces you to do the right thing.
>
> >  regards
> >
> >  Wojtek
> >
>
> Craig McClanahan
>
>
> --
> To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>
>
>
> --
> Myslisz o otworzeniu wlasnego sklepu internetowego?
> A moze o wynajeciu stoiska w wirtualnym pasazu?
> W Centrum e-biznesu mozesz miec jedno i drugie. Juz od 290 zl za rok.
> Wybierz: e-witryne lub e-sklep. http://handel.getin.pl/
>
>

 
-- 
Myslisz o otworzeniu wlasnego sklepu internetowego?
A moze o wynajeciu stoiska w wirtualnym pasazu?
W Centrum e-biznesu mozesz miec jedno i drugie. Juz od 290 zl za rok.
Wybierz: e-witryne lub e-sklep. http://handel.getin.pl/
 

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to