On Wed, 16 Jan 2002, Anil Mandava wrote:
> Date: Wed, 16 Jan 2002 15:27:25 -0800
> From: Anil Mandava <[EMAIL PROTECTED]>
> Reply-To: Struts Developers List <[EMAIL PROTECTED]>
> To: 'Struts Developers List' <[EMAIL PROTECTED]>
> Subject: Self-Initializing DynaBean ?
>
> It would be nice to implement a DynaBean version that can self-populate
> or self-initialize the properties.
>
> Say, if it were possible to encode property type in the
> property name as: "myProp{MyPropClass}"
> then the DyanBean's getter/setter can auto add a corresponding dyna
> property.
> This will enable any sub properties of MyPropClass to be invoked properly.
>
> That is all possible, only if we extend the property specification to
> include {type} part.
> Do you feel this is a reasonable thing to do, or are there any pitfalls here
> ?
>
> I am more interested in doing this with (Craig's soon to come)
> DynaActionForm.
> My end goal is to have one generic form bean (that will work for all
> actions).
> For such a generic form bean to handle multi-level properties
> such as "myProp{MyPropClass}.subProp", it has to infer and initialize the
> first property, so that the setter on the subProp can be invoked.
>
> I am interested in knowing your thoughts and opinions on this.
> If it does work out and I happen to implement it, I will provide a patch.
>
I just checked in the code for DynaActionForm, along with support for it
in Struts. I also added a way to configure the initial value for dynamic
properties that is used in the reset() method. So, you could preconfigure
the logon form's values like this:
<form-bean name="logonForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="username" type="java.lang.String" initial="user"/>
<form-property name="password" type="java.lang.STring"/>
</form-bean>
much the same as you can preinitialize normal instance variables with
initial values when the bean is created.
Does that do what you were looking for?
> Thank you all for the great work !
> Anil
>
Craig
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>