All: I've just finished the second version of the XDoclet extension to support generating Struts DynaForm configs. The content of the README are below. The fully documented bundle can be found at: http://www.systemmobile.com/code/xdoclet-apache-module-sm-1_2b4.zip
Changes since last release -------------------------- -) The only thing needed to specify a form-property element is @struts.dynaform-field. Everything else can be determined from the getter method. -) Superclasses are now checked for method-level tags. Handy for defining forms throughout an object hierarchy. -) You can now have multiple @struts.dynaform-field tags per method. Useful if you need to have an object property presented as multiple fields in the form. (I use this for dates sometimes.) -) The 'size' attribute for form-property tags is now supported. -) I think I fixed a bug with name collision when generating of forms from an object hierarchy. Installation ------------ To install, simply extract the zip and replace your existing xdoclet-apache-module-1.2b4.jar with xdoclet-apache-module-sm-1.2b4.jar. Ant --- Since this feature runs when the strutsconfigxml XDoclet target runs, you just use that Ant task. An example is below: <target name="webapp-config"> <taskdef classname="xdoclet.modules.web.WebDocletTask" classpathref="project.class.path" name="webdoclet"/> <webdoclet destDir="etc/web" excludedTags="@author,@version,@todo" mergeDir="etc/merge"> <fileset dir="src"> <include name="**/*.java"/> </fileset> <strutsconfigxml destDir="etc/web" mergeDir="etc/merge" version="1.1"/> </webdoclet> </target> Usage ----- This patch to the XDoclet Apache module provides support for Struts DynaForms. The following tags are supported: Class Level Tags: @struts.dynaform Attributes: name - The name of the form bean in the config. [required] type - The type of DynaForm. [required] description - Descriptive string. [optional] className - The config class. [optional] Method Level Tags: @struts.dynaform-field Attributes: name - The name of the form field. If not specified, the property name of the method is used. [optional] type - The type of field. If not specified, the return type of the getter is used. [optional] initial - The initial value of the field. [optional] className - The config class. [optional] There is a simple example in the examples directory. Hacking ------- Adding this functionality didn't require any code changes, just a small change to the struts_config.xdt template, and the addition of the struts_dynaform.xdt. If you want to add additional functionality, you'll probably want to start with struts_dynaform.xdt, which can be found in the xdoclet/modules/apache/struts/resources directory once the JAR is extracted. Contact ------- I can be reached via email at [EMAIL PROTECTED] -- Nick Heudecker SystemMobile, Inc. Email: [EMAIL PROTECTED] Web: http://www.systemmobile.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]