Hi,

1) concentrating on the validation-part but not completely 
   happy with the code so far
2) Sure sounds good

about the validation part (using Struts 1.0.2):
- Even though the validator has some support for wizards it did 
  not completely convince me as it just uses page-number. I 
  imagined that after having built and tested a designer would
  decide to move a field from page 1 to page 3. As I understand the 
  validator-mechanism this results in code-changes.
My solution:
- a wizard has exactly one big form-bean
- on the form-page I include a hidden field listing all the 
  form-field-names on this page
- in the actual form-bean-class I have a method returning a HashMap
  containing the reset-values for all the form-fields (for all the 
  pages)
- the super-class (MyWizardActionForm) overrides the reset() method
  and resets all the attributes listed in the hidden form-field with
  the values that are specified in the actual form-bean (the 
  resetValues HashMap)

As I understand your proposal, it would concentrate on other areas, so
maybe we could combine the stuff.

regards
Alexander Jesse


-----Original Message-----
From: Dave Peckham [mailto:[EMAIL PROTECTED]]
Sent: Donnerstag, 6. Juni 2002 04:23
To: [EMAIL PROTECTED]
Subject: wizards framework


Greetings all,

I want to get some opinions on the need for a more
comprehensive "wizard" framework. I've been working on
a quite generic framework for a group of junior
developers in my company to use. What I want to know
is:

1) Is anyone else already writing this enhancement?

2) Is there interest in having this functionality
contributed? 

I'd love to have an excuse to make my work generic
enough to fit in. As Craig puts it, this is my itch.
If there is interest, I'll post some of my code and
models out there for the group.

Briefly, I have a WizardPlugIn that initializes named
wizards from a wizards.xml file that ties together the
forms (and validator page attribute) from
validation.xml and the actions in struts-config.xml.
>From there, each concrete Wizard class (subclasses of
an abstract subclass of Action) is configured. The
abstract Wizard class finalizes execute(...) but makes
calls to 4 new methods: next(...), previous(...),
cancel(...), finish(...). The Wizard classes default
to a linear path through pages, but the forward(...)
method can be overridden to change that to allow for
multiple paths through a wizard (like skipping pages
based on selections). I also have a WizardErrors class
that adds page-level resolution to ActionErrors so
that validation errors can intelligently send users
back to the correct page. I also have about a
half-dozen new taglibs for the buttons, error display,
etc.
 
Hope this makes sense.

Thanks,

Dave 

__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com

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

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

Reply via email to