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

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

?? delegatingphaselistenermulticaster.java

?? spring framework 2.5.4源代碼
?? JAVA
字號:
/*
 * Copyright 2002-2006 the original author or authors.
 *
 * 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.springframework.web.jsf;

import java.util.Collection;
import java.util.Iterator;

import javax.faces.context.FacesContext;
import javax.faces.event.PhaseEvent;
import javax.faces.event.PhaseId;
import javax.faces.event.PhaseListener;

import org.springframework.beans.factory.BeanFactoryUtils;
import org.springframework.beans.factory.ListableBeanFactory;
import org.springframework.web.context.WebApplicationContext;

/**
 * JSF PhaseListener implementation that delegates to one or more Spring-managed
 * PhaseListener beans coming from the Spring root WebApplicationContext.
 *
 * <p>Configure this listener multicaster in your <code>faces-config.xml</code> file
 * as follows:
 *
 * <pre>
 * &lt;application&gt;
 *   ...
 *   &lt;phase-listener&gt;
 *     org.springframework.web.jsf.DelegatingPhaseListenerMulticaster
 *   &lt;/phase-listener&gt;
 *   ...
 * &lt;/application&gt;</pre>
 *
 * The multicaster will delegate all <code>beforePhase</code> and <code>afterPhase</code>
 * events to all target PhaseListener beans. By default, those will simply be obtained
 * by type: All beans in the Spring root WebApplicationContext that implement the
 * PhaseListener interface will be fetched and invoked.
 *
 * <p>Note this multicaster's <code>getPhaseId()</code> method will always return
 * <code>ANY_PHASE</code>. The phase id exposed by the target listener beans
 * will be ignored; all events will be propagated to all listeners.
 *
 * <p>This multicaster may be subclassed to change the strategy used to obtain
 * the listener beans, or to change the strategy used to access the ApplicationContext
 * (normally obtained via {@link FacesContextUtils#getWebApplicationContext(FacesContext)}).
 *
 * @author Juergen Hoeller
 * @author Colin Sampaleanu
 * @since 1.2.7
 */
public class DelegatingPhaseListenerMulticaster implements PhaseListener {

	public PhaseId getPhaseId() {
		return PhaseId.ANY_PHASE;
	}

	public void beforePhase(PhaseEvent event) {
		Collection listeners = getDelegates(event.getFacesContext());
		Iterator it = listeners.iterator();
		while (it.hasNext()) {
			PhaseListener listener = (PhaseListener) it.next();
			listener.beforePhase(event);
		}
	}

	public void afterPhase(PhaseEvent event) {
		Collection listeners = getDelegates(event.getFacesContext());
		Iterator it = listeners.iterator();
		while (it.hasNext()) {
			PhaseListener listener = (PhaseListener) it.next();
			listener.afterPhase(event);
		}
	}


	/**
	 * Obtain the delegate PhaseListener beans from the Spring root
	 * WebApplicationContext.
	 * @param facesContext the current JSF context
	 * @return a Collection of PhaseListener objects
	 * @see #getBeanFactory
	 * @see org.springframework.beans.factory.ListableBeanFactory#getBeansOfType(Class)
	 */
	protected Collection getDelegates(FacesContext facesContext) {
		ListableBeanFactory bf = getBeanFactory(facesContext);
		return BeanFactoryUtils.beansOfTypeIncludingAncestors(bf, PhaseListener.class, true, false).values();
	}

	/**
	 * Retrieve the Spring BeanFactory to delegate bean name resolution to.
	 * <p>Default implementation delegates to <code>getWebApplicationContext</code>.
	 * Can be overridden to provide an arbitrary ListableBeanFactory reference to
	 * resolve against; usually, this will be a full Spring ApplicationContext.
	 * @param facesContext the current JSF context
	 * @return the Spring ListableBeanFactory (never <code>null</code>)
	 * @see #getWebApplicationContext
	 */
	protected ListableBeanFactory getBeanFactory(FacesContext facesContext) {
		return getWebApplicationContext(facesContext);
	}

	/**
	 * Retrieve the web application context to delegate bean name resolution to.
	 * <p>Default implementation delegates to FacesContextUtils.
	 * @param facesContext the current JSF context
	 * @return the Spring web application context (never <code>null</code>)
	 * @see FacesContextUtils#getRequiredWebApplicationContext
	 */
	protected WebApplicationContext getWebApplicationContext(FacesContext facesContext) {
		return FacesContextUtils.getRequiredWebApplicationContext(facesContext);
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91片黄在线观看| 日韩综合在线视频| 日韩一级完整毛片| 成人av网在线| 成人在线综合网| gogogo免费视频观看亚洲一| 精品在线观看免费| 久久99精品久久久久久久久久久久| 天天影视网天天综合色在线播放| 亚洲一区视频在线| 中文字幕电影一区| 欧美剧情片在线观看| 色偷偷一区二区三区| 色猫猫国产区一区二在线视频| 色婷婷精品久久二区二区蜜臀av | 91一区二区在线观看| 成人免费不卡视频| 在线免费一区三区| 欧美久久久久中文字幕| 精品黑人一区二区三区久久| 久久久久久久久久美女| 亚洲视频在线一区二区| 午夜精品久久久久久久蜜桃app| 免费成人小视频| 成人在线综合网| 欧美日韩高清一区二区| 欧美日韩一二三| 福利一区福利二区| 欧美日韩一区成人| 国产午夜精品一区二区三区视频| 亚洲欧美区自拍先锋| 午夜一区二区三区视频| 蜜臀久久99精品久久久久宅男 | 精品少妇一区二区三区在线视频| 日韩一级完整毛片| 亚洲欧美日韩国产手机在线| 日日欢夜夜爽一区| 不卡在线观看av| 色丁香久综合在线久综合在线观看| 欧美日韩三级在线| 中文一区二区在线观看| 亚洲永久免费视频| 床上的激情91.| 日韩一区二区三区av| 中文字幕一区二区三区不卡在线 | 日韩一区二区精品葵司在线| 国产精品久久三| 捆绑变态av一区二区三区| 99re成人精品视频| 久久久三级国产网站| 亚洲电影视频在线| 91尤物视频在线观看| 日韩精品一区二区三区蜜臀| 亚洲高清视频在线| 99国内精品久久| 久久精品免费在线观看| 蜜臀av在线播放一区二区三区| 91国偷自产一区二区使用方法| 国产色综合久久| 久久er99热精品一区二区| 欧美精品久久天天躁| 亚洲人成亚洲人成在线观看图片| 久久精品国产99国产| 欧美视频日韩视频在线观看| 最新成人av在线| 成人动漫在线一区| 久久一区二区三区四区| 性做久久久久久免费观看欧美| 波多野结衣的一区二区三区| 久久亚洲精品小早川怜子| 激情文学综合网| 日韩欧美国产wwwww| 日韩福利视频网| 欧美一级电影网站| 日本不卡视频一二三区| 91精品国产黑色紧身裤美女| 亚洲精品高清在线观看| 99久久亚洲一区二区三区青草| 欧美v亚洲v综合ⅴ国产v| 久久精品国产999大香线蕉| 欧美成人vps| 性欧美疯狂xxxxbbbb| 91精品国产日韩91久久久久久| 五月天亚洲精品| 欧美日韩一区二区电影| 日本不卡的三区四区五区| 欧美一级专区免费大片| 一区在线观看免费| 91国产成人在线| 一区二区三区四区精品在线视频 | 99久久精品国产一区二区三区| 国产情人综合久久777777| 粉嫩在线一区二区三区视频| 欧美国产欧美综合| av男人天堂一区| 亚洲图片欧美一区| 91麻豆精品国产| 精品一区二区三区视频 | 国产盗摄女厕一区二区三区| 久久精品在线免费观看| 成人久久18免费网站麻豆| 亚洲欧美色一区| 欧美私人免费视频| 激情成人午夜视频| 中文字幕在线一区免费| 成人美女视频在线观看| 亚洲自拍偷拍网站| 日韩欧美二区三区| 99精品在线观看视频| 视频一区二区不卡| 国产精品福利电影一区二区三区四区| 精品一区二区三区免费观看| 国产精品丝袜91| 欧美视频一区二区三区| 国产一区二区三区精品视频| 一区在线观看视频| 色哦色哦哦色天天综合| 久久av中文字幕片| 国产精品久久久久婷婷| 日本韩国一区二区| 国产一区二区三区蝌蚪| 亚洲成人在线免费| 日韩视频一区在线观看| 激情五月播播久久久精品| 亚洲制服丝袜av| 欧美激情中文不卡| 欧美另类变人与禽xxxxx| 国产999精品久久| 青青草原综合久久大伊人精品| 亚洲天堂中文字幕| 欧美精品一区二区三区久久久| 91久久线看在观草草青青| 国产99久久久国产精品潘金网站| 日本欧洲一区二区| 亚洲午夜精品久久久久久久久| 国产亚洲欧美在线| 欧美xxxxx裸体时装秀| 884aa四虎影成人精品一区| 91麻豆国产福利在线观看| 成人免费观看av| 成人午夜在线视频| 国产91精品精华液一区二区三区 | 色综合天天综合在线视频| 国产一区二区在线视频| 免费观看在线综合| 亚洲成a人片在线不卡一二三区| 亚洲女子a中天字幕| 日韩伦理免费电影| 国产精品传媒入口麻豆| 国产精品国模大尺度视频| 欧美激情一区二区三区蜜桃视频| 久久新电视剧免费观看| 久久亚洲精品国产精品紫薇| 久久香蕉国产线看观看99| 国产日韩一级二级三级| 久久精品水蜜桃av综合天堂| 国产亚洲精品aa午夜观看| 国产欧美日韩另类一区| 欧美国产综合一区二区| 国产精品乱人伦中文| 亚洲视频一区在线| 亚洲综合成人在线视频| 日韩精品91亚洲二区在线观看| 日本不卡123| 国产精品亚洲成人| 成人免费视频视频在线观看免费| 国产成人一区在线| 91在线视频免费91| 欧美丝袜丝交足nylons| 日韩一区二区中文字幕| 久久综合色综合88| 国产精品你懂的在线欣赏| **网站欧美大片在线观看| 亚洲一区二区三区自拍| 日本欧美一区二区三区| 国产乱码精品一品二品| 色综合久久综合中文综合网| 欧美日韩综合在线| 精品国产免费人成电影在线观看四季 | va亚洲va日韩不卡在线观看| 99久免费精品视频在线观看| 欧美在线观看禁18| 日韩视频一区在线观看| 国产精品久久网站| 日本强好片久久久久久aaa| 蜜臀国产一区二区三区在线播放| 国产精品一区二区三区乱码| 成人午夜免费电影| 欧美精品少妇一区二区三区| 久久精品人人做人人爽人人| 亚洲激情av在线| 国产一区二区三区免费看| 欧美亚洲禁片免费| 久久久蜜臀国产一区二区| 夜夜嗨av一区二区三区四季av| 老司机午夜精品99久久| 色噜噜狠狠成人网p站| 久久久综合视频| 性感美女极品91精品| 国产福利精品一区|