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

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

?? facestilesrequestprocessor.java

?? struts的源代碼
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/*
 * Copyright 2002,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.faces.application;


import java.io.IOException;
import javax.faces.FactoryFinder;
import javax.faces.application.ViewHandler;
import javax.faces.component.UICommand;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.context.FacesContextFactory;
import javax.faces.event.ActionEvent;
import javax.faces.lifecycle.Lifecycle;
import javax.faces.lifecycle.LifecycleFactory;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.Globals;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.config.FormBeanConfig;
import org.apache.struts.config.ForwardConfig;
import org.apache.struts.faces.Constants;
import org.apache.struts.faces.component.FormComponent;
import org.apache.struts.faces.util.HttpServletRequestWrapper;
import org.apache.struts.tiles.TilesRequestProcessor;


/**
 * <p>Concrete implementation of <code>RequestProcessor</code> that
 * implements the standard Struts request processing lifecycle on a
 * request that was received as an <code>ActionEvent</code> by our
 * associated <code>ActionListener</code>.  It replaces the request processor
 * instance normally configured by Struts+Tiles, so it must support non-Faces
 * requests as well.</p>
 *
 * @version $Rev: 56770 $ $Date: 2004-11-06 18:15:35 +0000 (Sat, 06 Nov 2004) $
 */

public class FacesTilesRequestProcessor extends TilesRequestProcessor {


    // ------------------------------------------------------ Instance Variables


    /**
     * <p>The log instance for this class.</p>
     */
    protected static Log log =
        LogFactory.getLog(FacesTilesRequestProcessor.class);



    // ------------------------------------------------------- Protected Methods


    /**
     * <p>Set up a Faces Request if we are not already processing one.  Next,
     * create a new view if the specified <code>uri</code> is different from
     * the current view identifier.  Finally, cause the new view to be
     * rendered, and call <code>FacesContext.responseComplete()</code> to
     * indicate that this has already been done.</p>
     *
     * @param uri Context-relative path to forward to
     * @param request Current page request
     * @param response Current page response
     *
     * @exception IOException if an input/output error occurs
     * @exception ServletException if a servlet error occurs
     */
    protected void doForward(String uri,
                             HttpServletRequest request,
                             HttpServletResponse response)
        throws IOException, ServletException {

        if (log.isDebugEnabled()) {
            log.debug("doForward(" + uri + ")");
        }

        // Remove the current ActionEvent (if any)
        request.removeAttribute(Constants.ACTION_EVENT_KEY);

        // Process a Struts controller request normally
        if (isStrutsRequest(uri)) {
            if (response.isCommitted()) {
                if (log.isTraceEnabled()) {
                    log.trace("  super.doInclude(" + uri + ")");
                }
                super.doInclude(uri, request, response);
            } else {
                if (log.isTraceEnabled()) {
                    log.trace("  super.doForward(" + uri + ")");
                }
                super.doForward(uri, request, response);
            }
            return;
        }

        // Create a FacesContext for this request if necessary
        LifecycleFactory lf = (LifecycleFactory)
            FactoryFinder.getFactory(FactoryFinder.LIFECYCLE_FACTORY);
        Lifecycle lifecycle = // FIXME - alternative lifecycle ids
            lf.getLifecycle(LifecycleFactory.DEFAULT_LIFECYCLE);
        boolean created = false;
        FacesContext context = FacesContext.getCurrentInstance();
        if (context == null) {
            if (log.isTraceEnabled()) {
                log.trace("  Creating new FacesContext for '" + uri + "'");
            }
            created = true;
            FacesContextFactory fcf = (FacesContextFactory)
                FactoryFinder.getFactory(FactoryFinder.FACES_CONTEXT_FACTORY);
            HttpServletRequestWrapper wrapper = new HttpServletRequestWrapper(request, uri);
            context = fcf.getFacesContext(servlet.getServletContext(), wrapper,
                                          response, lifecycle); 
            // Comment out the previous three lines and uncomment
            // the following two lines to test eliminating the wrapper
            // context = fcf.getFacesContext(servlet.getServletContext(),
            //                               request, response, lifecycle);
        }

        // Create a new view root
        ViewHandler vh = context.getApplication().getViewHandler();
        if (log.isTraceEnabled()) {
            log.trace("  Creating new view for '" + uri + "'");
        }
        context.setViewRoot(vh.createView(context, uri));

        // Cause the view to be rendered
        if (log.isTraceEnabled()) {
            log.trace("  Rendering view for '" + uri + "'");
        }
        lifecycle.render(context);
        if (created) {
            if (log.isTraceEnabled()) {
                log.trace("  Releasing context for '" + uri + "'");
            }
            context.release();
        } else {
            if (log.isTraceEnabled()) {
                log.trace("  Rendering completed");
            }
        }

    }


    // Override default processing to provide logging
    protected void internalModuleRelativeForward
        (String uri, HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException {

        if (log.isTraceEnabled()) {
            log.trace("Performing internal module relative forward to '" +
                      uri + "'");
        }
        super.internalModuleRelativeForward(uri, request, response);

    }


    // Override default processing to provide logging
    protected Action processActionCreate(HttpServletRequest request,
                                         HttpServletResponse response,
                                         ActionMapping mapping)
        throws IOException {

        if (log.isTraceEnabled()) {
            log.trace("Performing standard action create");
        }
        Action result = super.processActionCreate(request, response, mapping);
        if (log.isDebugEnabled()) {
            log.debug("Standard action create returned " +
                      result.getClass().getName() + " instance");
        }
        return (result);

    }


    // Override default processing to provide logging
    protected ActionForm processActionForm(HttpServletRequest request,
                                           HttpServletResponse response,
                                           ActionMapping mapping) {
        if (log.isTraceEnabled()) {
            log.trace("Performing standard action form processing");
            String attribute = mapping.getAttribute();
            if (attribute != null) {
                String name = mapping.getName();
                FormBeanConfig fbc = moduleConfig.findFormBeanConfig(name);
                if (fbc != null) {
                    if ("request".equals(mapping.getScope())) {
                        log.trace("  Bean in request scope = " +
                                  request.getAttribute(attribute));
                    } else {
                        log.trace("  Bean in session scope = " +
                                  request.getSession().getAttribute(attribute));
                    }
                } else {
                    log.trace("  No FormBeanConfig for '" + name + "'");
                }
            } else {
                log.trace("  No form bean for this action");
            }
        }
        ActionForm result =
            super.processActionForm(request, response, mapping);
        if (log.isDebugEnabled()) {
            log.debug("Standard action form returned " +
                      result);
        }
        return (result);
        

    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美腿丝袜亚洲色图| 国产99久久久国产精品潘金| 国产精品综合在线视频| 91麻豆免费看| 久久久久国产精品麻豆ai换脸 | 欧美一区国产二区| 国产精品嫩草影院av蜜臀| 精品在线免费观看| 欧美日韩www| 樱桃国产成人精品视频| 成人一区二区在线观看| 欧美成人精品福利| 日韩精品免费专区| 欧美亚洲综合在线| 亚洲人快播电影网| 成人18视频日本| 欧美激情在线免费观看| 国产老女人精品毛片久久| 在线不卡免费av| 一区二区日韩电影| 91亚洲精品久久久蜜桃| 欧美国产禁国产网站cc| 国产一区二区导航在线播放| 欧美电视剧免费全集观看| 偷拍一区二区三区四区| 欧美伊人久久大香线蕉综合69| 国产精品你懂的在线| 国产剧情一区二区三区| 欧美成人艳星乳罩| 久久99这里只有精品| 日韩欧美黄色影院| 久久99久久久久久久久久久| 91精品国产91久久综合桃花| 午夜伦欧美伦电影理论片| 欧美调教femdomvk| 亚洲在线视频一区| 色综合激情五月| 一区二区日韩电影| 在线观看亚洲一区| 亚洲国产精品麻豆| 欧美美女bb生活片| 日韩电影在线免费看| 91精品国产欧美日韩| 欧美aaaaa成人免费观看视频| 91精品久久久久久蜜臀| 男女性色大片免费观看一区二区| 欧美一级在线观看| 黄色日韩网站视频| 久久久精品tv| 成人av手机在线观看| 国产精品电影院| 一本久道久久综合中文字幕 | 日韩一区精品字幕| 91精品国产综合久久福利| 日本sm残虐另类| 亚洲精品在线观看网站| 国产91精品在线观看| 国产精品成人免费在线| 色综合天天天天做夜夜夜夜做| 一区二区三区视频在线观看| 91成人免费在线| 日韩高清欧美激情| 精品国产一区a| 粉嫩久久99精品久久久久久夜| 中文字幕亚洲精品在线观看| 91美女在线看| 午夜精品久久久久久久蜜桃app| 欧美日韩美女一区二区| 蜜桃视频在线一区| 国产校园另类小说区| 91影院在线观看| 午夜视频在线观看一区二区| 精品久久久久久久人人人人传媒| 国产91对白在线观看九色| 亚洲乱码一区二区三区在线观看| 精品视频在线看| 精品在线免费观看| 亚洲欧洲日产国码二区| 欧美精品三级日韩久久| 国产精品亚洲专一区二区三区 | 制服丝袜亚洲色图| 国内成+人亚洲+欧美+综合在线| 国产精品免费人成网站| 欧美日韩精品一区二区三区蜜桃| 九九**精品视频免费播放| 国产精品乱子久久久久| 欧美福利一区二区| 成人妖精视频yjsp地址| 亚洲成人激情av| 国产女人aaa级久久久级| 在线观看一区日韩| 国产真实乱对白精彩久久| 亚洲日本va午夜在线电影| 欧美一二三四区在线| 成人免费不卡视频| 水野朝阳av一区二区三区| 欧美国产精品一区| 91精品国产福利| 一本到不卡免费一区二区| 韩国女主播成人在线| 有坂深雪av一区二区精品| 欧美一级在线免费| 91搞黄在线观看| 国产精品香蕉一区二区三区| 99国产精品一区| 免费在线看成人av| 中文字幕综合网| 337p粉嫩大胆噜噜噜噜噜91av | 另类人妖一区二区av| 国产精品不卡在线观看| 欧美电影免费观看高清完整版在| 色综合天天综合色综合av | 国产精品久久久久影院| 欧美一区二区三区白人| 色婷婷综合久色| 国产精品综合av一区二区国产馆| 亚洲成人精品一区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 日韩精品一区二区三区三区免费 | 另类欧美日韩国产在线| 亚洲午夜视频在线| 亚洲欧美在线视频观看| 久久久99免费| 日韩午夜在线观看视频| 欧美天天综合网| 99精品欧美一区二区蜜桃免费 | 亚洲国产综合在线| 成人欧美一区二区三区小说| 国产日韩亚洲欧美综合| 日韩欧美国产电影| 欧美日韩免费观看一区二区三区| 97成人超碰视| 懂色av一区二区夜夜嗨| 久久成人麻豆午夜电影| 亚洲不卡av一区二区三区| 日韩伦理av电影| 欧美激情一区二区三区全黄| 精品伦理精品一区| 日韩三级免费观看| 在线成人av网站| 欧美日韩精品电影| 91官网在线观看| 色综合色狠狠天天综合色| 91在线你懂得| 成人国产视频在线观看| 懂色av一区二区三区免费观看| 国产一区二区精品在线观看| 久久机这里只有精品| 免费人成黄页网站在线一区二区| 亚洲亚洲精品在线观看| 亚洲国产精品久久久久婷婷884| 亚洲日本在线a| 亚洲精品国产无套在线观| 亚洲激情男女视频| 亚洲精品一二三四区| 一区二区三区电影在线播| 一区二区三区欧美久久| 亚洲高清免费视频| youjizz久久| 一本色道亚洲精品aⅴ| 91激情在线视频| 欧美系列亚洲系列| 91精品国产综合久久久久久久 | 色综合色狠狠综合色| 色天使色偷偷av一区二区| 在线精品视频免费观看| 欧美日韩一区二区三区四区五区 | 欧美日韩免费一区二区三区视频 | 成人午夜大片免费观看| 懂色av中文一区二区三区| 成人国产精品免费| 色哟哟国产精品免费观看| 欧美三日本三级三级在线播放| 欧美天堂一区二区三区| 777亚洲妇女| 欧美成人bangbros| 久久精品一区二区| 最新国产精品久久精品| 一区二区三区国产豹纹内裤在线| 亚洲成人黄色影院| 精品一区二区三区欧美| 国产成人一级电影| 97久久超碰精品国产| 欧美日本一道本| 欧美电影免费观看高清完整版在| 久久久久久久综合狠狠综合| 一区免费观看视频| 亚洲国产精品尤物yw在线观看| 日韩电影免费在线| 国产一区二区三区免费| 不卡一区二区三区四区| 欧美中文字幕一区二区三区亚洲| 欧美精品三级日韩久久| 久久久精品影视| 亚洲欧美一区二区三区极速播放| 亚洲成人免费观看| 国产精品系列在线观看| 日本乱码高清不卡字幕| 日韩一区二区三区电影 | 欧美人与性动xxxx|