亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? actionservlet.java

?? Apache struts-1.3.10 a stable version
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
            // 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.
     */
    protected void processActionConfigExtension(ActionConfig actionConfig,
        ModuleConfig moduleConfig)
        throws ServletException {
        try {
            if (!actionConfig.isExtensionProcessed()) {
                if (log.isDebugEnabled()) {
                    log.debug("Processing extensions for '"
                        + actionConfig.getPath() + "'");
                }

                actionConfig =
                    processActionConfigClass(actionConfig, moduleConfig);

                actionConfig.processExtends(moduleConfig);
            }

            // Process forwards extensions.
            ForwardConfig[] forwards = actionConfig.findForwardConfigs();
            for (int i = 0; i < forwards.length; i++) {
                ForwardConfig forward = forwards[i];
                processForwardExtension(forward, moduleConfig, actionConfig);
            }

            // Process exception extensions.
            ExceptionConfig[] exceptions = actionConfig.findExceptionConfigs();
            for (int i = 0; i < exceptions.length; i++) {
                ExceptionConfig exception = exceptions[i];
                processExceptionExtension(exception, moduleConfig,
                    actionConfig);
            }
        } catch (ServletException e) {
            throw e;
        } catch (Exception e) {
            handleGeneralExtensionException("Action", actionConfig.getPath(), e);
        }
    }

    /**
     * <p>Checks if the current actionConfig is using the correct class based
     * on the class of its ancestor ActionConfig.</p>
     *
     * @param actionConfig The action config to check.
     * @param moduleConfig The config for the current module.
     * @return The config object using the correct class as determined by the
     *         config's ancestor and its own overridden value.
     * @throws ServletException if an instance of the action config class
     *                          cannot be created.
     */
    protected ActionConfig processActionConfigClass(ActionConfig actionConfig,
        ModuleConfig moduleConfig)
        throws ServletException {
        String ancestor = actionConfig.getExtends();

        if (ancestor == null) {
            // Nothing to do, then
            return actionConfig;
        }

        // Make sure that this config is of the right class
        ActionConfig baseConfig = moduleConfig.findActionConfig(ancestor);

        if (baseConfig == null) {
            throw new UnavailableException("Unable to find "
                + "action config for '" + ancestor + "' to extend.");
        }

        // Was our actionConfig's class overridden already?
        if (actionConfig.getClass().equals(ActionMapping.class)) {
            // Ensure that our config is using the correct class
            if (!baseConfig.getClass().equals(actionConfig.getClass())) {
                // Replace the config with an instance of the correct class
                ActionConfig newActionConfig = null;
                String baseConfigClassName = baseConfig.getClass().getName();

                try {
                    newActionConfig =
                        (ActionConfig) RequestUtils.applicationInstance(baseConfigClassName);

                    // copy the values
                    BeanUtils.copyProperties(newActionConfig, actionConfig);

                    // copy the forward and exception configs, too
                    ForwardConfig[] forwards =
                        actionConfig.findForwardConfigs();

                    for (int i = 0; i < forwards.length; i++) {
                        newActionConfig.addForwardConfig(forwards[i]);
                    }

                    ExceptionConfig[] exceptions =
                        actionConfig.findExceptionConfigs();

                    for (int i = 0; i < exceptions.length; i++) {
                        newActionConfig.addExceptionConfig(exceptions[i]);
                    }
                } catch (Exception e) {
                    handleCreationException(baseConfigClassName, e);
                }

                // replace actionConfig with newActionConfig
                moduleConfig.removeActionConfig(actionConfig);
                moduleConfig.addActionConfig(newActionConfig);
                actionConfig = newActionConfig;
            }
        }

        return actionConfig;
    }

    /**
     * <p>Initialize the application <code>MessageResources</code> for the
     * specified module.</p>
     *
     * @param config ModuleConfig information for this module
     * @throws ServletException if initialization cannot be performed
     * @since Struts 1.1
     */
    protected void initModuleMessageResources(ModuleConfig config)
        throws ServletException {
        MessageResourcesConfig[] mrcs = config.findMessageResourcesConfigs();

        for (int i = 0; i < mrcs.length; i++) {
            if ((mrcs[i].getFactory() == null)
                || (mrcs[i].getParameter() == null)) {
                continue;
            }

            if (log.isDebugEnabled()) {
                log.debug("Initializing module path '" + config.getPrefix()
                    + "' message resources from '" + mrcs[i].getParameter()
                    + "'");
            }

            String factory = mrcs[i].getFactory();

            MessageResourcesFactory.setFactoryClass(factory);

            MessageResourcesFactory factoryObject =
                MessageResourcesFactory.createFactory();

            factoryObject.setConfig(mrcs[i]);

            MessageResources resources =
                factoryObject.createResources(mrcs[i].getParameter());

            resources.setReturnNull(mrcs[i].getNull());
            resources.setEscape(mrcs[i].isEscape());
            getServletContext().setAttribute(mrcs[i].getKey()
                + config.getPrefix(), resources);
        }
    }

    /**
     * <p>Create (if needed) and return a new <code>Digester</code> instance
     * that has been initialized to process Struts module configuration files
     * and configure a corresponding <code>ModuleConfig</code> object (which
     * must be pushed on to the evaluation stack before parsing begins).</p>
     *
     * @return A new configured <code>Digester</code> instance.
     * @throws ServletException if a Digester cannot be configured
     * @since Struts 1.1
     */
    protected Digester initConfigDigester()
        throws ServletException {
        // :FIXME: Where can ServletException be thrown?
        // Do we have an existing instance?
        if (configDigester != null) {
            return (configDigester);
        }

        // Create a new Digester instance with standard capabilities
        configDigester = new Digester();
        configDigester.setNamespaceAware(true);
        configDigester.setValidating(this.isValidating());
        configDigester.setUseContextClassLoader(true);
        configDigester.addRuleSet(new ConfigRuleSet());

        for (int i = 0; i < registrations.length; i += 2) {
            URL url = this.getClass().getResource(registrations[i + 1]);

            if (url != null) {
                configDigester.register(registrations[i], url.toString());
            }
        }

        this.addRuleSets();

        // Return the completely configured Digester instance
        return (configDigester);
    }

    /**
     * <p>Add any custom RuleSet instances to configDigester that have been
     * specified in the <code>rulesets</code> init parameter.</p>
     *
     * @throws ServletException if an error occurs
     */
    private void addRuleSets()
        throws ServletException {
        String rulesets = getServletConfig().getInitParameter("rulesets");

        if (rulesets == null) {
            rulesets = "";
        }

        rulesets = rulesets.trim();

        String ruleset;

        while (rulesets.length() > 0) {
            int comma = rulesets.indexOf(",");

            if (comma < 0) {
                ruleset = rulesets.trim();
                rulesets = "";
            } else {
                ruleset = rulesets.substring(0, comma).trim();
                rulesets = rulesets.substring(comma + 1).trim();
            }

            if (log.isDebugEnabled()) {
                log.debug("Configuring custom Digester Ruleset of type "
                    + ruleset);
            }

            try {
                RuleSet instance =
                    (RuleSet) RequestUtils.applicationInstance(ruleset);

                this.configDigester.addRuleSet(instance);
            } catch (Exception e) {
                log.error("Exception configuring custom Digester RuleSet", e);
                throw new ServletException(e);
            }
        }
    }

    /**
     * <p>Check the status of the <code>validating</code> initialization
     * parameter.</p>
     *
     * @return true if the module Digester should validate.
     */
    private boolean isValidating() {
        boolean validating = true;
        String value = getServletConfig().getInitParameter("validating");

        if ("false".equalsIgnoreCase(value) || "no".equalsIgnoreCase(value)
            || "n".equalsIgnoreCase(value) || "0".equalsIgnoreCase(value)) {
            validating = false;
        }

        return validating;
    }

    /**
     * <p>Initialize our internal MessageResources bundle.</p>
     *
     * @throws ServletException     if we cannot initialize these resources
     * @throws UnavailableException if we cannot load  resources
     */
    protected void initInternal()
        throws ServletException {
        try {
            internal = MessageResources.getMessageResources(internalName);
        } catch (MissingResourceException e) {
            log.error("Cannot load internal resources from '" + internalName
                + "'", e);
            throw new UnavailableException(
                "Cannot load internal resources from '" + internalName + "'");
        }
    }

    /**
     * <p>Parse the configuration documents specified by the
     * <code>chainConfig</code> init-param to configure the default {@link
     * org.apache.commons.chain.Catalog} that is registered in the {@link
     * CatalogFactory} instance for this application.</p>
     *
     * @throws ServletException if an error occurs.
     */
    protected void initChain()
        throws ServletException {
        // Parse the configuration file specified by path or resource
        try {
            String value;

            value = getServletConfig().getInitParameter("chainConfig");

            if (value != null) {
                chainConfig = value;
            }

            ConfigParser parser = new ConfigParser();
            List urls = splitAndResolvePaths(chainConfig);
            URL resource;

            for (Iterator i = urls.iterator(); i.hasNext();) {
                resource = (URL) i.next();
                log.info("Loading chain catalog from " + resource);
                parser.parse(resource);
   

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91精品在线观看| 亚洲综合自拍偷拍| 精品电影一区二区三区 | 一区二区三区四区不卡在线 | 99久久精品一区二区| 国产一区二区三区在线观看免费视频 | 极品少妇一区二区| 久久国产精品72免费观看| 免费精品视频在线| 国内精品伊人久久久久影院对白| 免费av网站大全久久| 久久精品99久久久| 国产精品99久久久| bt欧美亚洲午夜电影天堂| 99久久精品国产一区二区三区 | 亚洲一级二级在线| 日韩在线卡一卡二| 狠狠色丁香婷综合久久| 国产成人av自拍| av在线不卡电影| 欧美在线观看18| 欧美一三区三区四区免费在线看| 欧美成人精品福利| 久久久五月婷婷| 亚洲日穴在线视频| 婷婷亚洲久悠悠色悠在线播放| 日韩精品色哟哟| 国产麻豆视频一区二区| 97精品国产露脸对白| 欧美色图激情小说| 精品国产3级a| 国产精品国产馆在线真实露脸| 亚洲伦理在线免费看| 美女网站色91| 91丝袜国产在线播放| 欧美精品tushy高清| 久久久国产精华| 亚洲国产精品综合小说图片区| 麻豆精品国产91久久久久久| 大桥未久av一区二区三区中文| 91久久久免费一区二区| 日韩免费观看高清完整版在线观看| 久久久亚洲午夜电影| 亚洲大片免费看| 成人黄色一级视频| 精品国产一区二区亚洲人成毛片| 最新日韩av在线| 久草热8精品视频在线观看| 色哟哟一区二区| 久久先锋影音av鲁色资源网| 亚洲第一二三四区| av在线一区二区三区| 精品国产区一区| 日韩精品国产欧美| 欧洲视频一区二区| 国产精品福利电影一区二区三区四区| 蜜臀a∨国产成人精品| 欧美中文一区二区三区| 国产精品久久久久桃色tv| 日本vs亚洲vs韩国一区三区二区| 色哟哟精品一区| 国产精品成人免费| 国产福利一区在线| 欧美精品一区二| 六月丁香婷婷久久| 日韩亚洲电影在线| 日韩国产欧美在线视频| 欧美日韩国产天堂| 亚洲综合在线第一页| 91蜜桃在线免费视频| 国产精品福利av | 亚洲欧洲日韩av| 高清国产一区二区| 久久久精品蜜桃| 国产91精品精华液一区二区三区 | 国产精品一区二区在线观看不卡| 欧美高清dvd| 日本在线播放一区二区三区| 欧美三级日本三级少妇99| 亚洲一区二区三区视频在线播放| 日本国产一区二区| 亚洲国产cao| 欧美群妇大交群的观看方式| 日韩精品一级二级 | 久久九九国产精品| 国产精品123| 国产精品私人自拍| 91丨九色丨尤物| 亚洲成人av中文| 日韩三级精品电影久久久 | 国产精品久久久久久久久晋中| 国产精品18久久久久久久久久久久| 久久亚洲综合色| 国产成人免费在线视频| 国产欧美一区二区精品秋霞影院| a在线播放不卡| 婷婷久久综合九色综合伊人色| 欧美电影一区二区| 国产一区 二区 三区一级| 中文一区二区在线观看| 91国在线观看| 日本不卡在线视频| 国产三级一区二区三区| 色呦呦国产精品| 久久精品国产色蜜蜜麻豆| 日本一区二区视频在线观看| 色先锋资源久久综合| 日韩国产欧美在线播放| 国产日本一区二区| 欧美日韩视频一区二区| 精品一区二区三区视频在线观看| 最新国产精品久久精品| 欧美一卡2卡三卡4卡5免费| 国产不卡高清在线观看视频| 亚洲一二三四区| 国产午夜亚洲精品羞羞网站| 色综合天天狠狠| 国产一区二区三区| 亚洲一区二区视频| 日本一区二区三区国色天香| 欧美亚洲一区二区三区四区| 国产精品自拍毛片| 亚洲国产视频一区| 国产精品久久国产精麻豆99网站| 在线成人免费视频| 波波电影院一区二区三区| 蜜臀av在线播放一区二区三区| 亚洲美女电影在线| 日本一区二区免费在线| 日韩一区二区电影| 欧美三区在线视频| 色综合色狠狠综合色| 国产电影一区二区三区| 奇米四色…亚洲| 亚洲电影一区二区| 亚洲精品福利视频网站| 国产精品久久毛片av大全日韩| 精品av综合导航| 日韩情涩欧美日韩视频| 欧美酷刑日本凌虐凌虐| 91黄色免费版| 色噜噜狠狠成人中文综合| 成人小视频在线观看| 国产福利一区在线| 国产精品一区专区| 国产九色sp调教91| 国产激情91久久精品导航| 精油按摩中文字幕久久| 美国一区二区三区在线播放| 天堂影院一区二区| 午夜激情综合网| 午夜精品国产更新| 日韩精品一级二级 | 欧美日韩免费电影| 欧美在线高清视频| 欧美人狂配大交3d怪物一区| 精品视频1区2区| 91精品视频网| 欧美tk—视频vk| 精品少妇一区二区| 国产日韩在线不卡| 国产精品久久久久永久免费观看 | 美女高潮久久久| 裸体在线国模精品偷拍| 国产一区二区三区在线观看精品| 精品系列免费在线观看| 国产一区二区三区蝌蚪| 成人高清伦理免费影院在线观看| 成人av电影免费在线播放| 91丨porny丨国产| 欧美日韩一二三区| 日韩视频一区在线观看| 久久久影视传媒| 亚洲欧美另类综合偷拍| 天堂精品中文字幕在线| 美女一区二区在线观看| 懂色av噜噜一区二区三区av| 成人黄色av电影| 欧美电影在线免费观看| 精品av综合导航| 亚洲精品大片www| 久久狠狠亚洲综合| 91在线视频免费91| 在线不卡一区二区| 国产午夜精品一区二区| 一区二区三区四区在线免费观看| 午夜精品久久久久久久99樱桃| 99久久综合99久久综合网站| 欧洲一区二区三区在线| 精品久久久久香蕉网| 亚洲欧美二区三区| 另类专区欧美蜜桃臀第一页| 91色乱码一区二区三区| 日韩免费视频线观看| 一区二区三区高清在线| 黄色资源网久久资源365| 欧美在线啊v一区| 国产拍揄自揄精品视频麻豆| 婷婷综合另类小说色区| 91香蕉视频在线|