Every thing looks fine to me. Is this the actual struts-config.xml you are trying to use - because I did notice your "/user/update" has re-direct in the "Success" forward. Obviously you say the problem is with the "/user/setUp" action but I ask because a re-direct would cause the kind of behaviour you describe.
Niall ----- Original Message ----- From: "Danko Desancic" <[EMAIL PROTECTED]> To: "Struts Users Mailing List" <[EMAIL PROTECTED]> Sent: Friday, March 12, 2004 8:26 PM Subject: Re: (pre)populating DynaActionForm > I tried that and it does not work. No errors though just balnk form with > initial value. > > Thanks anyway > > Hubert Rabago wrote: > > >My bad. I didn't read your mail through; only saw the top portion. > >In your setupUserAction, after you prepopulate the form, set it as a request > >attribute: > > > > > > > >>>from SetUpUserAction.execute() > >>> DynaActionForm userForm = (DynaActionForm)form; > >>> > >>> userForm.set("userName",user.getUserName()); > >>> userForm.set("password",user.getPassword()); > >>> userForm.set("fullName",user.getFullName()); > >>> userForm.set("email",user.getEmail()); > >>> userForm.set("status",new Integer(1)); > >>> > >>> > > request.setAttribute("userForm",userForm); > > > > > >>> > >>> forward = mapping.findForward("Success"); > >>> return forward; > >>> > >>> > > > >It works when the form is in session scope because that will make the whole > >session deal with one form instance. > > > >hth, > >Hubert > > > >--- Hubert Rabago <[EMAIL PROTECTED]> wrote: > > > > > >>As far as I can tell, there really isn't any support for prepopulating a > >>DynaActionForm. The ff is from > >> > >> > >> > >http://jakarta.apache.org/struts/userGuide/building_controller.html#dyna_ac tion_form_classes > > > > > >>"DynaActionForms are not a drop-in replacement for ActionForms. If you need > >>to access ActionForm properties in your Action, you will need to use the > >>map-style accessor, like myForm.get("name"). If you actively use the > >>ActionForm object in your Action, then you may want to use conventional > >>ActionForms instead. > >> > >>"DynaActionForms cannot be instantiated using a no-argument constructor. In > >>order to simulate the extra properties, there is a lot of machinery > >>involved > >>in their construction. You must rely on Struts to instantiate a > >>DynaActionForm for you, via the ActionMapping." > >> > >>What I did was copy the code that RequestUtils uses to instantiate a > >>DynaActionForm, and put it in a method that I can call like this: > >>DynaActionForm dynaForm = createDynaActionForm("formName", > >>mapping.getModuleConfig()); > >> > >> > >> > >> /** > >> * <p>Create the [EMAIL PROTECTED] DynaActionForm} instance identified by the > >>given > >> * formName.</p> > >> * > >> * @param formName the name used to identify the form > >> * @param moduleConfig the configuration for the current module > >> * @return the DynaActionForm identified by formName > >> */ > >> public static DynaActionForm createDynaActionForm( > >> String formName, > >> ModuleConfig moduleConfig) { > >> DynaActionForm dynaForm; > >> try { > >> // the code here is based on [copied from? :) ] > >> // RequestUtils.createActionForm() > >> FormBeanConfig formBeanConfig = > >> moduleConfig.findFormBeanConfig(formName); > >> > >> DynaActionFormClass dynaClass = > >> DynaActionFormClass.createDynaActionFormClass( > >> formBeanConfig); > >> > >> dynaForm = (DynaActionForm) dynaClass.newInstance(); > >> > >> if (logger.isTraceEnabled()) { > >> logger.trace("inside findDynaActionForm() where dynaForm=" > >>+ > >> dynaForm + " and formBeanConfig=" + > >>formBeanConfig); > >> } > >> > >> initializeDynaForm(formName, dynaForm, moduleConfig); > >> } catch (Exception e) { > >> logger.error("Exception [" + e + "," + e.getMessage() + "]", > >>e); > >> // TODO what to do if we get an error initializing the form? > >> // -> right now we're just returning null > >> dynaForm = null; > >> } > >> return dynaForm; > >> } > >> > >> /** > >> * <p>Initialize all bean properties to their initial values, as > >>specified > >> * in the [EMAIL PROTECTED] FormPropertyConfig} elements associated with the > >> * definition of this <code>DynaActionForm</code>. Based on the > >> * <code>DynaActionForm.initialize()</code> method. > >> * </p> > >> * > >> * @param dynaForm the DynaActionForm to be initialized > >> * @param moduleConfig the ModuleConfig under which this dynaForm > >> * > >> */ > >> protected static void initializeDynaForm(String name, > >> DynaActionForm dynaForm, > >> ModuleConfig moduleConfig) { > >> > >> FormBeanConfig config = moduleConfig.findFormBeanConfig(name); > >> if (config == null) { > >> return; > >> } > >> FormPropertyConfig props[] = config.findFormPropertyConfigs(); > >> for (int i = 0; i < props.length; i++) { > >> dynaForm.set(props[i].getName(), props[i].initial()); > >> } > >> } > >> > >>hth, > >>Hubert > >> > >>--- Danko Desancic <[EMAIL PROTECTED]> wrote: > >> > >> > >>>I am newbie to Struts and have a problem with populating > >>>DynaActionForm. I have two actions: one to set up userForm and one to > >>>process it. 1st one is suposed to grab user info and populate the form. > >>>The second one updates user info after the form is submitted. The > >>>problem is that the from is not populated. Moreover changing the scope > >>>to "session" in action "/user/setUp" results in form being populated > >>>with appropriate data. What am I doing wrong in here? > >>> > >>>Thanks > >>>Danko > >>> > >>>from struts-config.xml > >>><form-bean name="userForm" > >>>type="org.apache.struts.action.DynaActionForm">that > >>> <form-property name="userName" type="java.lang.String"/> > >>> <form-property name="password" type="java.lang.String"/> > >>> <form-property name="fullName" type="java.lang.String"/> > >>> <form-property name="email" type="java.lang.String"/> > >>> <form-property name="status" type="java.lang.Integer" > >>>initial="0"/> > >>></form-bean> > >>> > >>><action > >>> path="/user/setUp" > >>> type="myPackage.user.SetUpUserAction" > >>> name="userForm" > >>> scope="request" > >>> validate="false"> > >>> <forward name="Success" > >>>path="/WEB-INF/jsp/user/userForm.jsp"/> > >>></action> > >>> > >>><action > >>> path="/user/update" > >>> type="myPackage.user.UpdateUserAction" > >>> name="userForm" > >>> scope="request" > >>> validate="true" > >>> input="/WEB-INF/jsp/user/userForm.jsp"> > >>> <forward name="Success" path="/user/edit.do" > >>> > >>> > >>redirect="true"/> > >> > >> > >>> </action> > >>> > >>>from SetUpUserAction.execute() > >>> DynaActionForm userForm = (DynaActionForm)form; > >>> > >>> userForm.set("userName",user.getUserName()); > >>> userForm.set("password",user.getPassword()); > >>> userForm.set("fullName",user.getFullName()); > >>> userForm.set("email",user.getEmail()); > >>> userForm.set("status",new Integer(1)); > >>> > >>> forward = mapping.findForward("Success"); > >>> return forward; > >>> > >>> > >>>from userForm.jsp > >>><html:form action="/user/update.do"> > >>><table cellpadding="2" cellspacing="2" border="1" width="800px"> > >>> <tr> > >>> <td class="fieldHeader" colspan="4">UPDATE USER</td> > >>> </tr> > >>> <tr> > >>> <td class="fieldName">Username</td> > >>> <td><html:text property="userName"/></td> > >>> </tr> > >>> ...... > >>> <tr> > >>> <td class="fieldName">Status</td> > >>> <td><html:radio property="status" value="1"/>Active   > >>><html:radio property="status" value="0"/>Inactive </td> > >>> </tr> > >>> <tr> > >>> <td colspan="4" class="fieldName" align="center"> > >>> <html:submit value="UPDATE"/> > >>> </td> > >>> </tr> > >>></table> > >>></html:form> > >>> > >>> > >>>--------------------------------------------------------------------- > >>>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >>> > >>> > >>__________________________________ > >>Do you Yahoo!? > >>Yahoo! Search - Find what you’re looking for faster > >>http://search.yahoo.com > >> > >>--------------------------------------------------------------------- > >>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > >> > > > > > >__________________________________ > >Do you Yahoo!? > >Yahoo! Search - Find what you’re looking for faster > >http://search.yahoo.com > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]