You want to create a
DynaActionForm (or subclass)
automatically from your business objects without having to configure
elements ahead of time.
Use Hubert Rabago's Formdef plug-in. You can download formdef.jar from https://formdef.dev.java.net/ and copy it to your application's WEB-INF/lib directory. Formdef allows you to define form definitions in an XML file, as shown in Example 5-14.This file should be placed in the WEB-INF folder of your web application and given a meaningful name such as form-defs.xml.
Example 5-14. Formdef form definitions
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE form-definition PUBLIC "-//FormDef//FormDef Form Definition//EN" "form-defs_0_5.dtd"> <form-definition> <formset> <form name="EmployeeForm" beanType="com.oreilly.strutsckbk.ch05.EmployeeFd"/> </formset> </form-definition>
form element maps a form named with the
name element to a business object whose class is
specified by the
Next, add a
plug-in element for
Formdef to your
<plug-in className="formdef.plugin.FormDefPlugIn"> <set-property property="defnames" value="/WEB-INF/form-defs.xml"/> </plug-in>
The form named in the
form element can be used in
your application as if you had explicitly declared the form using a
form-bean element in the
struts-config.xml file. Here's
action that uses the
<action path="/SaveEmployeeFd" name="EmployeeFdForm" ...