{
//
// Try to select the appropriate Struts module and delegate to its RequestProcessor.
//
ModuleConfig moduleConfig = InternalUtils.selectModule( modulePath, request, servletContext );
RequestProcessor requestProcessor = getRequestProcessor( moduleConfig );
requestProcessor.process( request, response );
}
else
{
//
// This is the same as the base process() behavior, but it checks for a missing module-configuration.
//
ModuleConfig moduleConfig = null;
if ( InternalUtils.getModuleConfig( RequestUtils.getModuleName( request, servletContext ), servletContext ) != null )
{
String modulePrefix = RequestUtils.getModuleName( request, servletContext );
moduleConfig = InternalUtils.selectModule( modulePrefix, request, servletContext );
}
String servletPath = InternalUtils.getDecodedServletPath( request );
RequestProcessor rp = moduleConfig != null ? getRequestProcessor( moduleConfig ) : null;
if ( rp != null && moduleCanHandlePath( moduleConfig, rp, servletPath ) )
{
rp.process( request, response );
}
else
{
if ( processUnhandledAction( request, response, servletPath ) ) return;