What version of Struts are you using?  How are you instantiating your
Dyna*Form?  Struts 1.1 didn't really have direct support for instantiating
DyanForms from an Action object.  Struts 1.2.0/nightly build does.  Is it
possible that you're using 1.1 and instantiating the form incorrectly?  

--- "Dean A. Hoover" <[EMAIL PROTECTED]> wrote:
> I am using DynaValidatorAction and
> it works just fine, when starting "clean".
> However, when I attempt to pre-populate
> the object, the data never makes it to the
> form. Anyone know why? What follows
> is some snippets of files that should show
> what I am doing.
> 
> === struts-config.xml
> <?xml version="1.0" encoding="ISO-8859-1" ?>
> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD 
> Struts Configuration 1.0//EN" 
> "http:/jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
> 
> <struts-config>
>   <form-beans>
>     <!-- changeContactInfo -->
>     <form-bean name="changeContactInfo"
>                type="org.apache.struts.validator.DynaValidatorForm">
>       <form-property name="contactInfoWidgetsSubFormFirstName"
>                      type="java.lang.String"/>
> ...
>     </form-bean>
> ...
>   <global-forwards>
>     <forward name="welcome" path="/home.do"/>
>     <forward name="logon" path="/logon.do"/>
>     <forward name="logout" path="/Logout.do"/>
> ...
>     <forward name="changeContactInfo" path="/ChangeContactInfoSetup.do"/>
> ...
>   </global-forwards>
> 
>   <action-mappings>
> ...
>     <!-- changeContactInfo -->
>     <action path="/ChangeContactInfoSetup"
>             type="fi.els.action.ChangeContactInfoSetup">
>       <forward name="success" path="/changeContactInfo.do"/>
>       <!-- FIXME -->
>       <forward name="failure" path="/changeContactInfo.do"/>
>     </action>
> 
>     <action path="/changeContactInfo"
>             type="org.apache.struts.actions.ForwardAction"
>             parameter="tiles.changeContactInfo"/>
> 
>     <action path="/ChangeContactInfo"
>             type="fi.els.action.ChangeContactInfo"
>             name="changeContactInfo"
>             validate="true"
>             input="tiles.changeContactInfo"
>             parameter="method">
>       <forward name="success" path="/home.do"/>
>       <forward name="cancel" path="/home.do"/>
>     </action>
> ...
>   </action-mappings>
> ...
>   <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
>     <set-property property="pathnames"
>                   value="/WEB-INF/validator-rules.xml,
>                          /WEB-INF/validation.xml"/>
>   </plug-in>
> 
> </struts-config>
> === validation.xml
> <form-validation>
>   <formset>
> ...
>     <!-- Change Contact Info -->
>     <form name="changeContactInfo">
>       <field property="contactInfoWidgetsSubFormFirstName"
>              depends="required,maxlength">
>         <arg0 key="contactInfoWidgetsSubForm.label.firstName"/>
>         <arg1 name="maxlength" key="${var:maxlength}" resource="false"/>
>         <var>
>           <var-name>maxlength</var-name>
>           <var-value>24</var-value>
>         </var>
>       </field>
> ...
>     </form>
>   </formset>
> </form-validation>
> === ChangeContactInfoSetup.java
> package fi.els.action;
> ...
> public class ChangeContactInfoSetup extends Action
> {
>     public ActionForward execute
>     (
>       ActionMapping mapping,
>       ActionForm form,
>       HttpServletRequest request,
>       HttpServletResponse response
>     ) throws Exception
>     {
>         User user = (User)request.getSession().getAttribute("user");
> 
>         Connection connection = null;
> 
>         try
>         {
>             DynaValidatorForm vForm = new DynaValidatorForm();
> ...
>             connection = dataSource.getConnection();
>             Client client = Client.load(connection, user.getId());
>             ContactInfo contactInfo = client.getContactInfo();
>             vForm.set("contactInfoWidgetsSubFormFirstName",
>              (contactInfo.getFirstName() != null) ?
>              contactInfo.getFirstName() : "");
> ...
>             request.getSession().setAttribute("changeContactInfo", vForm);
>             return mapping.findForward("success");
>         }
> ...
>     }
> }
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


__________________________________
Do you Yahoo!?
Yahoo! Finance Tax Center - File online. File on time.
http://taxes.yahoo.com/filing.html

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

Reply via email to