The patch is actually modifying DynaActionFormClass -- the class that provides the factory method Struts uses to instantiate a DynaActionForm. There's on direct way to tell Struts to use a different implementation of this class. So, to do this as an extension, you have to:

1) configure a custom ActionFormConfig in the <form-beans> element, which will be used to construct all form bean configs

2) in that class, override getDynaClass to return a custom DynaActionFormClass implementation with this functionality

3) sub-class DyanActionForm and all its children, to expose setDynaClass() so it can be called by the custom DynaActionFormClass implementation

4) change all form bean definitions that use DyanActionForm or subclasses to reference the copies with exposed setDyanClass()

You end up with about half a dozen classes, most of them trivial, and have to configure every form bean differently to use the resulting functionality.

As I say, a few minor tweaks would allow this to be dropped in as an extension so that all existing uses of DynaActionForm and friends would automatically get the added functionality.

L.

Frank W. Zammetti wrote:
Laurie, I'm curious... looking at the patch it seems like your only
modifying DynaActionForm, correct?  If that's true, since you can set the
class for an ActionForm in struts-config, what makes it so that you can't
just set LauriesDynaActionForm instead of DynaActionForm?  Including CGLIB
in your own app obviously isn't a problem, right?

I'm only asking because I think it's an interesting enhancement, but I
know the standard answer to things like this has been to make it an add-on
rather than add it to core and I'm trying to understand what makes it
non-trivial to go that route?



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

Reply via email to