⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 actionservlet.java.svn-base

📁 MVC开源框架
💻 SVN-BASE
📖 第 1 页 / 共 5 页
字号:
        if (log.isDebugEnabled()) {            log.debug("Initializing module path '" + config.getPrefix()                + "' forwards");        }        // Process forwards extensions.        ForwardConfig[] forwards = config.findForwardConfigs();        for (int i = 0; i < forwards.length; i++) {            ForwardConfig forward = forwards[i];            processForwardExtension(forward, config, null);        }        for (int i = 0; i < forwards.length; i++) {            ForwardConfig forward = forwards[i];            // Verify that required fields are all present for the forward            if (forward.getPath() == null) {                handleValueRequiredException("path", forward.getName(),                    "global forward");            }        }    }    /**     * <p>Extend the forward's configuration as necessary.  If actionConfig is     * provided, then this method will process the forwardConfig as part     * of that actionConfig.  If actionConfig is null, the forwardConfig     * will be processed as a global forward.</p>     *     * @param forwardConfig the configuration to process.     * @param moduleConfig  the module configuration for this module.     * @param actionConfig  If applicable, the config for the current action.     * @throws ServletException if initialization cannot be performed.     */    protected void processForwardExtension(ForwardConfig forwardConfig,        ModuleConfig moduleConfig, ActionConfig actionConfig)        throws ServletException {        try {            if (!forwardConfig.isExtensionProcessed()) {                if (log.isDebugEnabled()) {                    log.debug("Processing extensions for '"                        + forwardConfig.getName() + "'");                }                forwardConfig =                    processForwardConfigClass(forwardConfig, moduleConfig,                        actionConfig);                forwardConfig.processExtends(moduleConfig, actionConfig);            }        } catch (ServletException e) {            throw e;        } catch (Exception e) {            handleGeneralExtensionException("Forward", forwardConfig.getName(),                e);        }    }    /**     * <p>Checks if the current forwardConfig is using the correct class based     * on the class of its configuration ancestor.  If actionConfig is     * provided, then this method will process the forwardConfig as part     * of that actionConfig.  If actionConfig is null, the forwardConfig     * will be processed as a global forward.</p>     *     * @param forwardConfig The forward to check.     * @param moduleConfig  The config for the current module.     * @param actionConfig  If applicable, the config for the current action.     * @return The forward config using the correct class as determined by the     *         config's ancestor and its own overridden value.     * @throws UnavailableException if an instance of the forward config class     *                              cannot be created.     * @throws ServletException     on class creation error     */    protected ForwardConfig processForwardConfigClass(        ForwardConfig forwardConfig, ModuleConfig moduleConfig,        ActionConfig actionConfig)        throws ServletException {        String ancestor = forwardConfig.getExtends();        if (ancestor == null) {            // Nothing to do, then            return forwardConfig;        }        // Make sure that this config is of the right class        ForwardConfig baseConfig = null;        if (actionConfig != null) {            // Look for this in the actionConfig            baseConfig = actionConfig.findForwardConfig(ancestor);        }        if (baseConfig == null) {            // Either this is a forwardConfig that inherits a global config,            //  or actionConfig is null            baseConfig = moduleConfig.findForwardConfig(ancestor);        }        if (baseConfig == null) {            throw new UnavailableException("Unable to find " + "forward '"                + ancestor + "' to extend.");        }        // Was our forwards's class overridden already?        if (forwardConfig.getClass().equals(ActionForward.class)) {            // Ensure that our forward is using the correct class            if (!baseConfig.getClass().equals(forwardConfig.getClass())) {                // Replace the config with an instance of the correct class                ForwardConfig newForwardConfig = null;                String baseConfigClassName = baseConfig.getClass().getName();                try {                    newForwardConfig =                        (ForwardConfig) RequestUtils.applicationInstance(                                baseConfigClassName);                    // copy the values                    BeanUtils.copyProperties(newForwardConfig, forwardConfig);                } catch (Exception e) {                    handleCreationException(baseConfigClassName, e);                }                // replace forwardConfig with newForwardConfig                if (actionConfig != null) {                    actionConfig.removeForwardConfig(forwardConfig);                    actionConfig.addForwardConfig(newForwardConfig);                } else {                    // this is a global forward                    moduleConfig.removeForwardConfig(forwardConfig);                    moduleConfig.addForwardConfig(newForwardConfig);                }                forwardConfig = newForwardConfig;            }        }        return forwardConfig;    }    /**     * <p>Initialize the exception handlers for the specified module.</p>     *     * @param config ModuleConfig information for this module     * @throws ServletException if initialization cannot be performed     * @since Struts 1.3     */    protected void initModuleExceptionConfigs(ModuleConfig config)        throws ServletException {        if (log.isDebugEnabled()) {            log.debug("Initializing module path '" + config.getPrefix()                + "' forwards");        }        // Process exception config extensions.        ExceptionConfig[] exceptions = config.findExceptionConfigs();        for (int i = 0; i < exceptions.length; i++) {            ExceptionConfig exception = exceptions[i];            processExceptionExtension(exception, config, null);        }        for (int i = 0; i < exceptions.length; i++) {            ExceptionConfig exception = exceptions[i];            // Verify that required fields are all present for the config            if (exception.getKey() == null) {                handleValueRequiredException("key", exception.getType(),                    "global exception config");            }        }    }    /**     * <p>Extend the exception's configuration as necessary. If actionConfig is     * provided, then this method will process the exceptionConfig as part     * of that actionConfig.  If actionConfig is null, the exceptionConfig     * will be processed as a global forward.</p>     *     * @param exceptionConfig the configuration to process.     * @param moduleConfig    the module configuration for this module.     * @param actionConfig  If applicable, the config for the current action.     * @throws ServletException if initialization cannot be performed.     */    protected void processExceptionExtension(ExceptionConfig exceptionConfig,        ModuleConfig moduleConfig, ActionConfig actionConfig)        throws ServletException {        try {            if (!exceptionConfig.isExtensionProcessed()) {                if (log.isDebugEnabled()) {                    log.debug("Processing extensions for '"                        + exceptionConfig.getType() + "'");                }                exceptionConfig =                    processExceptionConfigClass(exceptionConfig, moduleConfig,                        actionConfig);                exceptionConfig.processExtends(moduleConfig, actionConfig);            }        } catch (ServletException e) {            throw e;        } catch (Exception e) {            handleGeneralExtensionException("Exception",                exceptionConfig.getType(), e);        }    }    /**     * <p>Checks if the current exceptionConfig is using the correct class     * based on the class of its configuration ancestor. If actionConfig is     * provided, then this method will process the exceptionConfig as part     * of that actionConfig.  If actionConfig is null, the exceptionConfig     * will be processed as a global forward.</p>     *     * @param exceptionConfig The config to check.     * @param moduleConfig    The config for the current module.     * @param actionConfig  If applicable, the config for the current action.     * @return The exception config using the correct class as determined by     *         the config's ancestor and its own overridden value.     * @throws ServletException if an instance of the exception config class     *                          cannot be created.     */    protected ExceptionConfig processExceptionConfigClass(        ExceptionConfig exceptionConfig, ModuleConfig moduleConfig,        ActionConfig actionConfig)        throws ServletException {        String ancestor = exceptionConfig.getExtends();        if (ancestor == null) {            // Nothing to do, then            return exceptionConfig;        }        // Make sure that this config is of the right class        ExceptionConfig baseConfig = null;        if (actionConfig != null) {            baseConfig = actionConfig.findExceptionConfig(ancestor);        }        if (baseConfig == null) {            // This means either there's no actionConfig anyway, or the            // ancestor is not defined within the action.            baseConfig = moduleConfig.findExceptionConfig(ancestor);        }        if (baseConfig == null) {            throw new UnavailableException("Unable to find "                + "exception config '" + ancestor + "' to extend.");        }        // Was our config's class overridden already?        if (exceptionConfig.getClass().equals(ExceptionConfig.class)) {            // Ensure that our config is using the correct class            if (!baseConfig.getClass().equals(exceptionConfig.getClass())) {                // Replace the config with an instance of the correct class                ExceptionConfig newExceptionConfig = null;                String baseConfigClassName = baseConfig.getClass().getName();                try {                    newExceptionConfig =                        (ExceptionConfig) RequestUtils.applicationInstance(                            baseConfigClassName);                    // copy the values                    BeanUtils.copyProperties(newExceptionConfig,                        exceptionConfig);                } catch (Exception e) {                    handleCreationException(baseConfigClassName, e);                }                // replace exceptionConfig with newExceptionConfig                if (actionConfig != null) {                    actionConfig.removeExceptionConfig(exceptionConfig);                    actionConfig.addExceptionConfig(newExceptionConfig);                } else {                    moduleConfig.removeExceptionConfig(exceptionConfig);                    moduleConfig.addExceptionConfig(newExceptionConfig);                }                exceptionConfig = newExceptionConfig;            }        }        return exceptionConfig;    }    /**     * <p>Initialize the action configs for the specified module.</p>     *     * @param config ModuleConfig information for this module     * @throws ServletException if initialization cannot be performed     * @since Struts 1.3     */    protected void initModuleActions(ModuleConfig config)        throws ServletException {        if (log.isDebugEnabled()) {            log.debug("Initializing module path '" + config.getPrefix()                + "' action configs");        }        // Process ActionConfig extensions.        ActionConfig[] actionConfigs = config.findActionConfigs();        for (int i = 0; i < actionConfigs.length; i++) {            ActionConfig actionConfig = actionConfigs[i];            processActionConfigExtension(actionConfig, config);        }        for (int i = 0; i < actionConfigs.length; i++) {            ActionConfig actionConfig = actionConfigs[i];            // Verify that required fields are all present for the forward            // configs            ForwardConfig[] forwards = actionConfig.findForwardConfigs();            for (int j = 0; j < forwards.length; j++) {                ForwardConfig forward = forwards[j];                if (forward.getPath() == null) {                    handleValueRequiredException("path", forward.getName(),                        "action forward");                }            }            // ... and the exception configs            ExceptionConfig[] exceptions = actionConfig.findExceptionConfigs();            for (int j = 0; j < exceptions.length; j++) {                ExceptionConfig exception = exceptions[j];                if (exception.getKey() == null) {                    handleValueRequiredException("key", exception.getType(),                        "action exception config");                }            }        }    }    /**     * <p>Extend the action's configuration as necessary.</p>     *     * @param actionConfig the configuration to process.     * @param moduleConfig the module configuration for this module.     * @throws ServletException if initialization cannot be performed.     */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -