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]