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

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

?? tilesutilimpl.java

?? struts的源代碼
?? JAVA
字號:
/*
 * $Id: TilesUtilImpl.java 54929 2004-10-16 16:38:42Z germuska $ 
 *
 * Copyright 1999-2004 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.struts.tiles;

import java.io.IOException;
import java.io.Serializable;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.PageContext;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.tiles.definition.ComponentDefinitionsFactoryWrapper;
import org.apache.struts.util.RequestUtils;

/**
 * Default implementation of TilesUtil.
 * This class contains default implementation of utilities. This implementation
 * is intended to be used without Struts.
 */
public class TilesUtilImpl implements Serializable {
    
    /** Commons Logging instance.*/
    protected Log log = LogFactory.getLog(TilesUtil.class);

    /** Constant name used to store factory in servlet context */
    public static final String DEFINITIONS_FACTORY =
        "org.apache.struts.tiles.DEFINITIONS_FACTORY";

    /**
     * Do a forward using request dispatcher.
     *
     * This method is used by the Tiles package anytime a forward is required.
     * @param uri Uri or Definition name to forward.
     * @param request Current page request.
     * @param servletContext Current servlet context.
     */
    public void doForward(
        String uri,
        HttpServletRequest request,
        HttpServletResponse response,
        ServletContext servletContext)
        throws IOException, ServletException {
            
        request.getRequestDispatcher(uri).forward(request, response);
    }

    /**
     * Do an include using request dispatcher.
     *
     * This method is used by the Tiles package when an include is required.
     * The Tiles package can use indifferently any form of this method.
     * @param uri Uri or Definition name to forward.
     * @param request Current page request.
     * @param response Current page response.
     * @param servletContext Current servlet context.
     */
    public void doInclude(
        String uri,
        HttpServletRequest request,
        HttpServletResponse response,
        ServletContext servletContext)
        throws IOException, ServletException {
            
        request.getRequestDispatcher(uri).include(request, response);
    }

    /**
     * Do an include using PageContext.include().
     *
     * This method is used by the Tiles package when an include is required.
     * The Tiles package can use indifferently any form of this method.
     * @param uri Uri or Definition name to forward.
     * @param pageContext Current page context.
     */
    public void doInclude(String uri, PageContext pageContext)
        throws IOException, ServletException {
            
        pageContext.include(uri);
    }

    /**
     * Get definition factory from appropriate servlet context.
     * @return Definitions factory or <code>null</code> if not found.
     */
    public DefinitionsFactory getDefinitionsFactory(
        ServletRequest request,
        ServletContext servletContext) {
            
        return (DefinitionsFactory) servletContext.getAttribute(DEFINITIONS_FACTORY);
    }

    /**
     * Create Definition factory from specified configuration object.
     * Create an instance of the factory with the class specified in the config
     * object. Then, initialize this factory and finally store the factory in
     * appropriate context by calling
     * {@link #makeDefinitionsFactoryAccessible(DefinitionsFactory, ServletContext)}.
     * Factory creation is done by {@link #createDefinitionFactoryInstance(String)}.
     * <p>
     *
     * @param servletContext Servlet Context passed to newly created factory.
     * @param factoryConfig Configuration object passed to factory.
     * @return newly created factory of type specified in the config object.
     * @throws DefinitionsFactoryException If an error occur while initializing factory
     */
    public DefinitionsFactory createDefinitionsFactory(
        ServletContext servletContext,
        DefinitionsFactoryConfig factoryConfig)
        throws DefinitionsFactoryException {
            
        // Create configurable factory
        DefinitionsFactory factory =
            createDefinitionFactoryInstance(factoryConfig.getFactoryClassname());
            
        factory.init(factoryConfig, servletContext);
        
        // Make factory accessible from jsp tags (push it in appropriate context)
        makeDefinitionsFactoryAccessible(factory, servletContext);
        return factory;
    }

    /**
     * Create Definition factory of specified classname.
     * Factory class must extend the {@link DefinitionsFactory} class.
     * The factory is wrapped appropriately with {@link ComponentDefinitionsFactoryWrapper}
     * if it is an instance of the deprecated ComponentDefinitionsFactory class.
     * @param classname Class name of the factory to create.
     * @return newly created factory.
     * @throws DefinitionsFactoryException If an error occur while initializing factory
     */
    protected DefinitionsFactory createDefinitionFactoryInstance(String classname)
        throws DefinitionsFactoryException {
            
        try {
            Class factoryClass = RequestUtils.applicationClass(classname);
            Object factory = factoryClass.newInstance();

            // Backward compatibility : if factory classes implements old interface,
            // provide appropriate wrapper
            if (factory instanceof ComponentDefinitionsFactory) {
                factory =
                    new ComponentDefinitionsFactoryWrapper(
                        (ComponentDefinitionsFactory) factory);
            }
            return (DefinitionsFactory) factory;
            
        } catch (ClassCastException ex) { // Bad classname
            throw new DefinitionsFactoryException(
                "Error - createDefinitionsFactory : Factory class '"
                    + classname
                    + " must implement 'TilesDefinitionsFactory'.",
                ex);
                
        } catch (ClassNotFoundException ex) { // Bad classname
            throw new DefinitionsFactoryException(
                "Error - createDefinitionsFactory : Bad class name '"
                    + classname
                    + "'.",
                ex);
                
        } catch (InstantiationException ex) { // Bad constructor or error
            throw new DefinitionsFactoryException(ex);
            
        } catch (IllegalAccessException ex) {
            throw new DefinitionsFactoryException(ex);
        }
    }
    
    /**
     * Make definition factory accessible to Tags.
     * Factory is stored in servlet context.
     * @param factory Factory to be made accessible.
     * @param servletContext Current servlet context.
     */
    protected void makeDefinitionsFactoryAccessible(
        DefinitionsFactory factory,
        ServletContext servletContext) {
            
        servletContext.setAttribute(DEFINITIONS_FACTORY, factory);
    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
eeuss鲁片一区二区三区 | 日本视频免费一区| 美女视频一区在线观看| 不卡av在线免费观看| 日韩欧美国产麻豆| 亚洲一区二区在线免费观看视频| 极品少妇一区二区三区精品视频| 欧美羞羞免费网站| 国产精品不卡视频| 国产精品亚洲人在线观看| 欧美精选午夜久久久乱码6080| 亚洲国产岛国毛片在线| 极品美女销魂一区二区三区| 欧美日韩黄视频| 国产精品初高中害羞小美女文| 国产最新精品免费| 欧美一区二区免费观在线| 亚洲一区二区三区四区五区黄| 成人午夜电影久久影院| 精品福利二区三区| 日韩精品乱码av一区二区| 91国偷自产一区二区三区观看 | 五月激情综合网| 色综合久久综合| 综合久久综合久久| 成人av综合在线| 欧美国产精品劲爆| 国产69精品久久777的优势| 久久精品欧美一区二区三区不卡| 麻豆一区二区99久久久久| 欧美一区二区三区系列电影| 日韩不卡一区二区三区| 欧美精品在欧美一区二区少妇| 亚洲在线观看免费视频| 色狠狠桃花综合| 亚洲欧美一区二区三区久本道91 | 亚洲电影一区二区三区| 欧美在线观看视频一区二区 | 99久久伊人网影院| 国产精品免费人成网站| av日韩在线网站| 亚洲精品综合在线| 色婷婷综合久久久中文字幕| 一级女性全黄久久生活片免费| aa级大片欧美| 一二三区精品视频| 日韩丝袜情趣美女图片| 极品少妇一区二区三区精品视频| 久久免费偷拍视频| 97aⅴ精品视频一二三区| 亚洲人成在线播放网站岛国| 欧美视频在线观看一区| 香蕉乱码成人久久天堂爱免费| 欧美另类videos死尸| 久久国产精品露脸对白| 国产精品无码永久免费888| 99久久99久久精品免费看蜜桃| 亚洲一区二区三区不卡国产欧美| 91精品国产综合久久福利| 99精品欧美一区二区三区综合在线| 91久久精品日日躁夜夜躁欧美| 夜夜夜精品看看| 日韩欧美久久久| 国产精品99久久久久久久女警 | 日韩—二三区免费观看av| 日韩一区二区中文字幕| 国产成人久久精品77777最新版本| 亚洲免费观看高清完整版在线| 777a∨成人精品桃花网| 国产成人免费视频网站| 亚洲精品大片www| 日韩欧美国产精品| 色噜噜狠狠一区二区三区果冻| 美女视频黄久久| 亚洲人精品午夜| 精品少妇一区二区三区日产乱码| 成人av网站大全| 亚洲超碰97人人做人人爱| 国产午夜精品福利| 制服丝袜一区二区三区| 成人app在线观看| 玖玖九九国产精品| 亚洲综合激情另类小说区| 亚洲综合av网| 久久男人中文字幕资源站| 日本韩国欧美在线| 免费在线看一区| 亚洲三级视频在线观看| 久久美女艺术照精彩视频福利播放| 色视频欧美一区二区三区| 国产在线视频不卡二| 精品国产伦理网| 麻豆国产精品视频| 日韩美女在线视频| 精品久久免费看| 亚洲国产成人午夜在线一区| 亚洲天堂久久久久久久| 亚洲另类春色校园小说| 日韩中文字幕1| 久久99国内精品| 成人中文字幕合集| 色综合视频一区二区三区高清| 在线亚洲高清视频| 日韩三级视频在线看| 久久久精品tv| 一区二区在线电影| 奇米精品一区二区三区四区| 国产精品综合在线视频| 91丨porny丨最新| 在线免费视频一区二区| 日韩欧美国产系列| 中文字幕一区二区三区在线不卡| 亚洲国产日韩av| 九九在线精品视频| 91免费版在线| 日韩欧美中文字幕精品| 国产精品麻豆久久久| 亚洲成人tv网| 国产精品 欧美精品| 精品视频在线免费看| 亚洲精品在线免费播放| 亚洲精品伦理在线| 极品少妇xxxx偷拍精品少妇| 一本大道久久a久久精二百| 欧美一级片在线观看| 亚洲三级免费电影| 久久99精品久久久久| 欧美性猛交xxxx乱大交退制版| 2022国产精品视频| 亚洲国产欧美在线人成| 成人黄色片在线观看| 欧美一区二视频| 亚洲欧美一区二区三区国产精品| 久久99精品视频| 欧美美女网站色| 亚洲视频小说图片| 国产又黄又大久久| 欧美精品在线观看播放| 亚洲天堂2014| 成人一区二区三区在线观看| 欧美一区二区私人影院日本| 亚洲激情在线激情| 丁香五精品蜜臀久久久久99网站| 91精品一区二区三区久久久久久 | 色综合天天综合给合国产| 久久综合一区二区| 奇米综合一区二区三区精品视频| 一本大道久久a久久精品综合| 国产视频一区二区在线观看| 久久国产三级精品| 欧美性受xxxx| 国产精品高潮呻吟| 成人动漫精品一区二区| 国产网站一区二区| 国产美女娇喘av呻吟久久| 欧美成人vps| 日本aⅴ免费视频一区二区三区| 欧美亚洲高清一区二区三区不卡| 亚洲精品免费视频| 色综合久久综合| 亚洲精品久久久蜜桃| 一本久道久久综合中文字幕| 国产精品乱子久久久久| 成人精品在线视频观看| 国产精品天干天干在线综合| 精品影视av免费| 精品国产sm最大网站免费看 | 国产成人av一区二区三区在线 | 日韩三级免费观看| 日本不卡视频在线观看| 欧美精品久久天天躁| 一区二区三区四区国产精品| 在线视频欧美精品| 亚洲成人激情av| 欧美日韩国产综合一区二区三区| 亚洲国产cao| 91精品国产综合久久久蜜臀粉嫩| 日本不卡一区二区三区 | 久久婷婷综合激情| 国产一区二区精品在线观看| 国产视频一区在线播放| av一本久道久久综合久久鬼色| 中文字幕在线免费不卡| 91老司机福利 在线| 亚洲综合精品久久| 欧美影片第一页| 亚洲一级片在线观看| 欧美视频一区二| 亚洲成人精品在线观看| 日韩欧美电影在线| 国产一区二区三区在线观看精品| 欧美激情在线一区二区| 成人动漫视频在线| 亚洲一区日韩精品中文字幕| 4438x亚洲最大成人网| 麻豆高清免费国产一区| 亚洲精品一区二区三区精华液| 成人综合在线网站| 夜夜嗨av一区二区三区四季av| 678五月天丁香亚洲综合网|