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" <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]