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]

Reply via email to