struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Gainty" <mgai...@hotmail.com>
Subject Re: zoning out on some basic LazyDynaMap usage for a text field property?
Date Sun, 02 Dec 2007 16:59:42 GMT
http://struts.apache.org/1.2.7/api/org/apache/struts/action/DynaActionForm.h
tml#initialize(org.apache.struts.action.ActionMapping)
quote
Since Struts 1.1, the reset method no longer initializes property values to
those specified in <form-property> elements in the Struts module
configuration file. If you wish to utilize that behavior, the simplest
solution is to subclass DynaActionForm and call the initialize method inside
it.

1)setup FormBeanConfig supplying name and type
http://struts.apache.org/1.2.7/api/org/apache/struts/config/FormBeanConfig.h
tml
beanconfig.setName("name");
and then beanConfig.setType("org.apache.struts.action.DynaActionForm");

2)// Construct a corresponding DynaActionFormClass
http://struts.apache.org/1.2.7/api/org/apache/struts/action/DynaActionFormCl
ass.html
        dynaClass = new DynaActionFormClass(beanConfig);
constructing the DynaActionForm for FormBeanConfig class

3)2 ways to initialize DynaActionForm
Initialize your DynaActionForm is with FormBeanConfig if you have a
<form-bean>
of struts-config file
http://struts.apache.org/1.2.7/api/org/apache/struts/action/DynaActionForm.h
tml#initialize(org.apache.struts.config.FormBeanConfig)

the other initialize method assumes you are initializing properties from
<form-property> of struts-config file
http://struts.apache.org/1.2.7/api/org/apache/struts/action/ActionMapping.ht
ml

complete example located at
/src/test/org/apache/struts/action/TestDynaActionFormClass.java

M--
----- Original Message -----
From: "Vinny" <xaymaca@gmail.com>
To: "Struts Users Mailing List" <user@struts.apache.org>
Sent: Friday, November 30, 2007 8:57 PM
Subject: Re: zoning out on some basic LazyDynaMap usage for a text field
property?


> Hmm,
> I've never tried using lazy inside a standard ActionForm, the ones that I
> have work inside of
> a DynaValidatorActionFom (say that 3 times fast). Don't feel like writing
a
> reset method? you are
> getting old Rick.
>
> On Nov 30, 2007 7:17 PM, Rick Reumann <rick.reumann@gmail.com> wrote:
>
> > I swore I used to be able to do this stuff... maybe it's Friday thing,
but
> > regardless I'm blanking on out on what I'm doing wrong with this...
> >
> > I have an ActionForm that has one property right now:
> >   private LazyDynaBean dynaBean = new LazyDynaMap();
> >
> > My goal is to be able to populate this DynaBean with any level of nested
> > DynaMaps and have everything populate correctly using Request scope on
my
> > form. (Not shown here but an 'answer' as a map value can end up being
> > another Map and so on - nested to any level.)
> >
> > I'm currently having trouble defining the property name correctly. Here
is
> > a
> > summary
> >
> > Not working:
> > <html:text name="myForm" property="dynaBean.map
> > (question_1).map(answerString)"/>
> >
> > Error:
> > Invalid argument looking up property:
> > "dynaBean.map(question_1).map(answerString)"
> > of bean: "myForm"
> >
> > Working fine:
> > <c:out value="${myForm.dynaBean.map['question_1'].map['answerString']}/>
> >
> >
> > I'm populating in my Action before the form as:
> >
> > //create some questions
> > MyForm mForm = (MyForm)form;
> > LazyDynaBean dynaBean1 = mForm.getDynaBean();
> > Map map1 = dynaBean1.getMap();
> >
> > LazyDynaMap questionAnswer = new LazyDynaMap();
> > questionAnswer.set("questionText", "Pet's name:");
> > questionAnswer.set("answerString", "Fido");
> > map1.put("question_1", questionAnswer);
> >
> >
> > I've tried a few different ways defining the text field property all
with
> > no
> > luck at the moment. What am I doing wrong? (I know I could also use a
> > DynaActionForm defined in my struts-config, but this should work as well
> > with a DynaBean in a standard ActionForm. I typically don't like using
> > DynaActionForm because I end up usually having to create a reset method
> > anyway so once I do that I might as well code the properties in that
> > concrete class.)
> >
> > --
> > Rick
> >
>
>
>
> --
> The Street Programmer http://streetprogrammer.com
>


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Mime
View raw message