code: ActionForward getActionMethodForward( String actionName, Object inputForm,
                                            HttpServletRequest request, HttpServletResponse response,
                                            ActionMapping mapping  )
          throws Exception
      {
          //
          // Find the method.
          //
          Class formClass = getFormClass( inputForm, mapping, request );
          Method actionMethod = getActionMethod( actionName, formClass );
  
          //
          // Invoke the method.
          //
          if ( actionMethod != null )
          {
              return invokeActionMethod( actionMethod, inputForm, request, mapping );
          }
  
          if ( _log.isWarnEnabled() )
          {
              InternalStringBuilder msg = new InternalStringBuilder( "Could not find matching action method for action=" );
              msg.append( actionName ).append( ", form=" );
              msg.append( inputForm != null ? inputForm.getClass().getName() :"[none]" );
              _log.warn( msg.toString() );
          }
  
          PageFlowException ex = new NoMatchingActionMethodException( actionName, inputForm, this );
          InternalUtils.throwPageFlowException( ex, request );
          return null;
      }
docs: Get the ActionForward returned by the action handler method that corresponds to the
  given action name and form-bean, or send an error to the browser if there is no
  matching method.
  
  @param actionName the name of the Struts action to handle.
  @param inputForm the form-bean associated with the action.  May be <code>null</code>.
  @param response the current HttpServletResponse.
  @return the ActionForward returned by the action handler method, or <code>null</code> if
  there was no matching method (in which case an error was written to the
  browser.
  @throws Exception if an Exception was raised in user code.