David
From: "Jason Rosen" <[EMAIL PROTECTED]>
Reply-To: "Struts Developers List" <[EMAIL PROTECTED]>
To: "Struts Developers List" <[EMAIL PROTECTED]>,<[EMAIL PROTECTED]>
Subject: RE: Unclear semantics on form use for "wizards"
Date: Mon, 11 Nov 2002 12:04:39 -0800
The reset() method lives in the ActionForm class. In order to have reset() evaluate what to do means overriding reset() by subclassing ActionForm (or some child of ActionForm). So to have all these different reset() evaluations means having different ActionForm subclasses.
Then if you wanted to use a different ActionForm implementation like DynaActionForm or DynaValidatorForm, you start duplicating your reset() code around because Java doesn't allow for multiple inheritance. This is the mess I started finding myself in - some of my Actions were using DynaActionForms, some were using DyanValidatorForms, and some were ActionForms but I needed similar reset() functionality in all of them. So the reset() code was getting hard to maintain.
I thought it might be better to evaluate when to reset more in the Controller layer (I chose the RequestProcessor) rather than the input-view layer (ActionForm). As Craig pointed out, I may not have done a full evaluation of the consequences of my modifications regarding turning off reset() all together.
Jason
> -----Original Message-----
> From: edgar [mailto:edgar@;blue-moose.net]
> Sent: Monday, November 11, 2002 11:56 AM
> To: 'Struts Developers List'
> Subject: RE: Unclear semantics on form use for "wizards"
>
>
> Isn't a better way of handling this to keep awareness of the action in
> progress (in reset and validate you can just look at the request), and
> make a decision as to what reset action to take rather than
> creating new
> classes.
>
> Hope that helps.
>
> Edgar
>
> -----Original Message-----
> From: Jason Rosen [mailto:JRosen@;yvimail.com]
> Sent: Monday, November 11, 2002 2:26 PM
> To: Struts Developers List
> Subject: RE: Unclear semantics on form use for "wizards"
>
>
> Hmmm... I'll have to look into how reset() impacts unchecked
> checkboxes
> - I haven't had to deal with too many checkboxes in my project.
>
> Thanks for raising some issues to make me think about it, Craig.
>
> Jason
>
> > -----Original Message-----
> > From: Craig R. McClanahan [mailto:craigmcc@;apache.org]
> > Sent: Monday, November 11, 2002 11:21 AM
> > To: Struts Developers List
> > Subject: RE: Unclear semantics on form use for "wizards"
> >
> >
> >
> >
> > On Mon, 11 Nov 2002, Jason Rosen wrote:
> >
> > > Date: Mon, 11 Nov 2002 11:11:41 -0800
> > > From: Jason Rosen <[EMAIL PROTECTED]>
> > > Reply-To: Struts Developers List <[EMAIL PROTECTED]>
> > > To: Struts Developers List <[EMAIL PROTECTED]>
> > > Subject: RE: Unclear semantics on form use for "wizards"
> > >
> > > Craig,
> > >
> > > That's true, I could have subclassed DynaValidatorForm and
> > modified the
> > > reset() method to accomodate my needs.
> > >
> > > Originally, I had taken that route, but then found myself
> with many
> > > ActionForm subclasses to accomodate all sorts of
> scenarios - I had
> > > subclasses of DynaActionForm, DynaValidatorForm, and
> > ActionForm, just to
> > > turn off reset().
> > >
> > > I found that by centralizing the reset "switch" and being able to
> > > declare it in the struts-config.xml made my code and config
> > files much
> > > cleaner, re-usable, and easier to maintain. I also figured
> > that if the
> > > validate() hotspot could be turned on and off from the
> > > struts-config.xml, why not reset()?
> > >
> >
> > I think allowing reset() to be turned off completely would be
> > confusing
> > and error prone for anyone using a boolean form bean
> > property, because an
> > unchecked checkbox would no longer work as expected.
> >
> > > Jason Rosen
> > >
> >
> > Craig
> >
> >
> > > -----Original Message-----
> > > From: Craig R. McClanahan [mailto:craigmcc@;apache.org]
> > > Sent: Monday, November 11, 2002 11:04 AM
> > > To: Struts Developers List
> > > Subject: RE: Unclear semantics on form use for "wizards"
> > >
> > >
> > >
> > >
> > > On Mon, 11 Nov 2002, Jason Rosen wrote:
> > >
> > > > Date: Mon, 11 Nov 2002 10:04:42 -0800
> > > > From: Jason Rosen <[EMAIL PROTECTED]>
> > > > Reply-To: Struts Developers List <[EMAIL PROTECTED]>
> > > > To: Struts Developers List <[EMAIL PROTECTED]>
> > > > Subject: RE: Unclear semantics on form use for "wizards"
> > > >
> > > > Hi,
> > > >
> > > > I actually had a similar problem with wanting to use
> > Session scoped
> > > > ActionForms and not having them reset every time they
> > were recycled by
> > > > an Action.
> > > >
> > >
> > > An alternative strategy is to make the reset() method of
> > your form beans
> > > smarter about which page of a multi-page wizard this submit
> > is for (easy
> > > to determine because reset() has access to the request).
> > >
> > > Craig
> > >
> > >
> > > --
> > > To unsubscribe, e-mail:
> <mailto:struts-dev-unsubscribe@;jakarta.apache.org>
> > For additional commands, e-mail:
> > <mailto:struts-dev-help@;jakarta.apache.org>
> >
> >
> > --
> > To unsubscribe, e-mail:
> <mailto:struts-dev-unsubscribe@;jakarta.apache.org>
> > For additional commands, e-mail:
> > <mailto:struts-dev-help@;jakarta.apache.org>
> >
> >
>
>
> --
> To unsubscribe, e-mail:
> <mailto:struts-dev-unsubscribe@;jakarta.apache.org>
> For additional commands, e-mail:
> <mailto:struts-dev-help@;jakarta.apache.org>
>
>
> --
> To unsubscribe, e-mail:
> <mailto:struts-dev-unsubscribe@;jakarta.apache.org>
> For additional commands, e-mail:
> <mailto:struts-dev-help@;jakarta.apache.org>
>
>
> --
> To unsubscribe, e-mail:
<mailto:struts-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:struts-dev-help@;jakarta.apache.org>
--
To unsubscribe, e-mail: <mailto:struts-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:struts-dev-help@;jakarta.apache.org>
_________________________________________________________________
Protect your PC - get McAfee.com VirusScan Online http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963
--
To unsubscribe, e-mail: <mailto:struts-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:struts-dev-help@;jakarta.apache.org>