Sub-classing struts Action class
<p>If Action class is sub-classed and the sub-class does not contain an 'execute' method, will struts automatically look to the super-class for an 'execute' method? If the parent class of the action sub-class is a sub-class of Action itself and does not contain an 'execute' method, will struts continue to look up the hierarchy until it finds a super-class that contains the 'execute' method? Does struts always look for and run the 'execute' method first? Below is some code which will hopefully clarify my question.</p>

<p><strong>Super-class</strong>:</p>

<pre><code>public class BaseXHRAction extends Action {
        public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
        String page = mapping.getParameter();
        String actionName = mapping.getPath();
        return mapping.findForward(page);
    }
}
</code></pre>

<p><strong>Sub-class</strong>:</p>

<pre><code>public class OdonohueTestInitXHRAction extends BaseXHRAction {
    //this class does not contain an 'execute' method
    //it contains some other method(s) below

    public ScreenConfigurationRes getResponse(ActionForm form, HttpServletRequest request, Context ctx) throws Exception {
        //return ScreenConfigurationRes
    }
}
</code></pre>

<p><strong>struts-config.xml</strong>:</p>

<pre><code>&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
&lt;!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" 
    "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"&gt;
&lt;struts-config&gt;
    &lt;form-beans&gt;
        &lt;form-bean name="screenConfigurationForm" type="com.saic.ct.sys.presentation.forms.screenconfiguration.ScreenConfigurationForm"/&gt;
    &lt;form-beans&gt;    

    &lt;!-- Global Forwards --&gt;
    &lt;global-exceptions&gt;
        &lt;exception type="java.lang.Exception" key="Test" path="/errorAction.do"/&gt;
    &lt;/global-exceptions&gt;
    &lt;global-forwards&gt;
        &lt;forward name="home" path="/home.do"/&gt;
        &lt;forward name="error" path="/errorAction.do"/&gt;
        &lt;forward name="logoutError" path="/loginInit.do"/&gt;
    &lt;/global-forwards&gt;

    &lt;!-- Action Mappings --&gt;
    &lt;action-mappings&gt;
        &lt;action
            path="/OdonohueTestInitXHR"
            name="screenConfigurationForm"
            type="com.saic.ct.sys.presentation.actions.schedule.OdonohueTestInitXHRAction" 
            parameter="home"/&gt;
    &lt;/action-mappings&gt;

    &lt;controller locale="true"/&gt;

    &lt;plug-in className="com.oroad.stxx.plugin.StxxPlugin"&gt;
        &lt;set-property property="pipeline-config" value="/WEB-INF/stxx-pipelines.xml"/&gt;
    &lt;/plug-in&gt;

    &lt;plug-in className="org.apache.struts.validator.ValidatorPlugIn"&gt;
        &lt;set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/&gt;
    &lt;/plug-in&gt;
&lt;/struts-config&gt;
</code></pre>