Hello Ted,

Friday, June 29, 2001, 2:33:29 PM, you wrote:

TH> If there is no other way ;-(

TH> We just need to think about what happens if someone wants to use the
TH> Bean Factory and the Component Tags. 

TH> If the Components are considered a standard part of Struts, is there
TH> anything we can do in the base ActionServlet with an option or a switch
TH> to enable this? Or would that be too expensive for applications that
TH> don't use the Components?

I think that Ron's extension servlet can be used as prototype of
extensions support in ActionServlet. To support flexible and strong
scheme with pluggable extensions we can use such scheme as -

 1. Place <extensions> section to the struts-config with description
    of extensions -

     <extension type="some.type.Extension">
      <process name="initDigester"/>
      <process name="processMapping" order="1"/>
      <process name="processForward" order="1"/>
     </extension>

 2. For each crucial processing point in ActionServlet (initDigester,
    processForward, etc.) create processing member interface.
    
 3. Each extension must implement appropriate interface
    to support processing at some moment -
    
     public class Extension implements
       ProcessForwardMember,
       ProcessMappingMember {

       public void processForward( ... ) {
       }

       public void processMapping( ... ) {
       }
       
     }

 4. ActionServlet read extensions sections in struts-config, register
    it in mappings database and at each processing point call
    extensions subscribed to be member of some processing.

-- 
Best regards,
 Oleg                            mailto:[EMAIL PROTECTED]


Reply via email to