Components extension use some Struts utility classes (BeanUtils, ...),
and extends ActionServlet in order to override the call to
requestDispatcher.forward().
Unfortunately, in the actual ActionServlet implementation, we can't
override directly this call, so I have introduce a method
"processForward(...)" which is called by "processActionForward(...)" and
"processValidate(...)". I will commit this change in Struts. Like that,
I will provide an "ComponentActionServlet(...) just overriding the
appropriate method.
So, to be short, Components just need to be able to override the call
to forward() in ActionServlet().
Cedric
"Leland, Rob" wrote:
> It would be nice if struts could be extended
> without having to place new code under
> the org.apache.struts.action classes,
> but just by dropping a separate jar file
> under some directory that would self-register.
>
> So what is the best way to extend struts
> so that it stays lean ?
>
> When I brought up the notion of
> 'Events' last November that was
> what I seeking to understand.
>
> Now that there are several extensions to struts
> that will soon be integrated, what approach
> makes the most sense ? if we start a discussion
> on this I would be willing to capture this
> knowledge/process on a web page.
>
> I am not suggesting that 'components'
> or 'validation' not be an integral part of struts.
>
> For those that have extended struts,
> What level of access did you need
> to the Action classes/methods to extend it?
> Did you need package level access ?
>
> I am looking at different patterns besides
> 'Events' such as decorator, strategy, etc
> trying to understand which if any of these
> would be useful.
>