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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? portletwrappingcontroller.java

?? spring framework 2.5.4源代碼
?? JAVA
字號(hào):
/*
 * 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.portlet.mvc;

import java.util.Enumeration;
import java.util.Locale;
import java.util.Properties;
import java.util.ResourceBundle;

import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.Portlet;
import javax.portlet.PortletConfig;
import javax.portlet.PortletContext;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;

import org.springframework.beans.factory.BeanNameAware;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.web.portlet.ModelAndView;
import org.springframework.web.portlet.context.PortletConfigAware;
import org.springframework.web.portlet.context.PortletContextAware;

/**
 * {@link Controller} implementation that wraps a portlet instance which it manages
 * internally. Such a wrapped portlet is not known outside of this controller;
 * its entire lifecycle is covered here.
 *
 * <p>Useful to invoke an existing portlet via Spring's dispatching infrastructure,
 * for example to apply Spring
 * {@link org.springframework.web.portlet.HandlerInterceptor HandlerInterceptors}
 * to its requests.
 *
 * <p><b>Example:</b>
 *
 * <pre>&lt;bean id="wrappingController" class="org.springframework.web.portlet.mvc.PortletWrappingController"&gt;
 *   &lt;property name="portletClass"&gt;
 *     &lt;value&gt;org.springframework.web.portlet.sample.HelloWorldPortlet&lt;/value&gt;
 *   &lt;/property&gt;
 *   &lt;property name="portletName"&gt;
 *     &lt;value&gt;hello-world&lt;/value&gt;
 *   &lt;/property&gt;
 *   &lt;property name="initParameters"&gt;
 *     &lt;props&gt;
 *       &lt;prop key="config"&gt;/WEB-INF/hello-world-portlet-config.xml&lt;/prop&gt;
 *     &lt;/props&gt;
 *   &lt;/property&gt;
 * &lt;/bean&gt;</pre>
 *
 * @author Juergen Hoeller
 * @author John A. Lewis
 * @since 2.0
 */
public class PortletWrappingController extends AbstractController
	implements BeanNameAware, InitializingBean, DisposableBean, PortletContextAware, PortletConfigAware {

	private boolean useSharedPortletConfig = true;

	private PortletContext portletContext;

	private PortletConfig portletConfig;

	private Class portletClass;

	private String portletName;

	private Properties initParameters = new Properties();

	private String beanName;

	private Portlet portletInstance;


	/**
	 * Set whether to use the shared PortletConfig object passed in
	 * through <code>setPortletConfig</code>, if available.
	 * <p>Default is "true". Turn this setting to "false" to pass in
	 * a mock PortletConfig object with the bean name as portlet name,
	 * holding the current PortletContext.
	 * @see #setPortletConfig
	 */
	public void setUseSharedPortletConfig(boolean useSharedPortletConfig) {
		this.useSharedPortletConfig = useSharedPortletConfig;
	}

	public void setPortletContext(PortletContext portletContext) {
		this.portletContext = portletContext;
	}

	public void setPortletConfig(PortletConfig portletConfig) {
		this.portletConfig = portletConfig;
	}

	/**
	 * Set the class of the Portlet to wrap.
	 * Needs to implement <code>javax.portlet.Portlet</code>.
	 * @see javax.portlet.Portlet
	 */
	public void setPortletClass(Class portletClass) {
		this.portletClass = portletClass;
	}

	/**
	 * Set the name of the Portlet to wrap.
	 * Default is the bean name of this controller.
	 */
	public void setPortletName(String portletName) {
		this.portletName = portletName;
	}

	/**
	 * Specify init parameters for the portlet to wrap,
	 * as name-value pairs.
	 */
	public void setInitParameters(Properties initParameters) {
		this.initParameters = initParameters;
	}

	public void setBeanName(String name) {
		this.beanName = name;
	}


	public void afterPropertiesSet() throws Exception {
		if (this.portletClass == null) {
			throw new IllegalArgumentException("portletClass is required");
		}
		if (!Portlet.class.isAssignableFrom(this.portletClass)) {
			throw new IllegalArgumentException("portletClass [" + this.portletClass.getName() +
				"] needs to implement interface [javax.portlet.Portlet]");
		}
		if (this.portletName == null) {
			this.portletName = this.beanName;
		}
        PortletConfig config = this.portletConfig;
        if (config == null || !this.useSharedPortletConfig) {
            config = new DelegatingPortletConfig();
        }
		this.portletInstance = (Portlet) this.portletClass.newInstance();
		this.portletInstance.init(config);
	}


	protected void handleActionRequestInternal(
			ActionRequest request, ActionResponse response) throws Exception {

		this.portletInstance.processAction(request, response);
	}

	protected ModelAndView handleRenderRequestInternal(
			RenderRequest request, RenderResponse response) throws Exception {

		this.portletInstance.render(request, response);
		return null;
	}


	public void destroy() {
		this.portletInstance.destroy();
	}


	/**
	 * Internal implementation of the PortletConfig interface, to be passed
	 * to the wrapped portlet.
	 * <p>Delegates to {@link PortletWrappingController} fields
	 * and methods to provide init parameters and other environment info.
	 */
	private class DelegatingPortletConfig implements PortletConfig {

		public String getPortletName() {
			return portletName;
		}

		public PortletContext getPortletContext() {
			return portletContext;
		}

		public String getInitParameter(String paramName) {
			return initParameters.getProperty(paramName);
		}

		public Enumeration getInitParameterNames() {
			return initParameters.keys();
		}
		
		public ResourceBundle getResourceBundle(Locale locale) {
			return (portletConfig != null ? portletConfig.getResourceBundle(locale) : null);
		}

	}

}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产乱码一区二区三区| 欧美精品日韩精品| 国产亚洲视频系列| 国内精品视频666| 精品国产一区二区三区av性色| 日本成人在线不卡视频| 91麻豆精品国产91| 蜜臀av性久久久久蜜臀aⅴ| 日韩一级成人av| 国产美女精品一区二区三区| 欧美国产精品劲爆| 99久久精品免费看国产免费软件| 亚洲欧洲精品天堂一级| 日本高清不卡一区| 日韩专区中文字幕一区二区| 日韩免费观看高清完整版| 国产成人三级在线观看| 综合久久给合久久狠狠狠97色| 日本久久电影网| 青青草一区二区三区| 久久伊人中文字幕| 色婷婷综合久久久中文字幕| 日本亚洲三级在线| 国产欧美一区在线| 欧美视频你懂的| 国产在线看一区| 亚洲特黄一级片| 欧美丰满少妇xxxxx高潮对白 | 一区二区三区成人| 欧美色大人视频| 国内精品免费**视频| 亚洲欧洲精品一区二区精品久久久 | 91久久精品国产91性色tv| 日韩高清中文字幕一区| 久久午夜色播影院免费高清| 91免费视频观看| 久国产精品韩国三级视频| 综合久久久久久| 欧美成人aa大片| 在线观看日韩高清av| 另类的小说在线视频另类成人小视频在线| 欧美激情一区二区三区在线| 色婷婷久久一区二区三区麻豆| 久久精品99国产精品| 亚洲男同性视频| 国产亚洲人成网站| 欧美一区二区久久久| 99久久国产综合精品色伊| 狠狠色综合色综合网络| 亚洲最色的网站| 中文字幕高清不卡| 精品国产sm最大网站免费看| 欧美亚洲国产一卡| 成人av电影免费观看| 麻豆成人综合网| 午夜影院在线观看欧美| 成人免费一区二区三区视频 | www.色综合.com| 另类成人小视频在线| 亚洲国产va精品久久久不卡综合 | 中文字幕视频一区| 久久综合色播五月| 91精品婷婷国产综合久久| 91影院在线观看| 国产·精品毛片| 狠狠色综合色综合网络| 人禽交欧美网站| 五月天久久比比资源色| 亚洲激情第一区| 亚洲毛片av在线| 亚洲人精品午夜| 亚洲日本欧美天堂| 国产精品久久久久影院亚瑟| 国产日产欧美一区| 国产亚洲美州欧州综合国 | 久久亚洲综合av| 欧美一区二区视频在线观看2020| 欧美在线短视频| 在线中文字幕一区二区| 日本道精品一区二区三区| 色偷偷久久一区二区三区| eeuss鲁一区二区三区| av日韩在线网站| 99久久99久久精品国产片果冻| eeuss鲁片一区二区三区在线观看| 成人做爰69片免费看网站| 国产成人一区二区精品非洲| 国产呦萝稀缺另类资源| 国产精品一区二区久久不卡 | 日韩av在线发布| 日本成人中文字幕在线视频| 久久国产剧场电影| 国产精品亚洲视频| 成人va在线观看| 97se亚洲国产综合自在线不卡| 97久久精品人人做人人爽50路| 日本福利一区二区| 日韩午夜在线观看视频| 精品国产免费人成电影在线观看四季 | 亚洲欧美日韩一区| 亚洲午夜电影网| 美女看a上一区| 国产成人a级片| 99久免费精品视频在线观看| 在线观看国产91| 日韩精品中文字幕在线不卡尤物| 精品国产在天天线2019| 久久久不卡网国产精品二区| 亚洲色图丝袜美腿| 日本午夜一本久久久综合| 国产高清精品久久久久| 97久久超碰国产精品| 欧美一区二区三区思思人| 精品88久久久久88久久久| 国产精品美女久久久久久2018| 亚洲成av人影院在线观看网| 国产一区不卡视频| 色激情天天射综合网| 日韩欧美成人一区| 日韩一区在线看| 蜜桃一区二区三区在线观看| 成人av午夜影院| 5566中文字幕一区二区电影 | 日韩欧美二区三区| 国产精品久久看| 免费成人av在线| a级高清视频欧美日韩| 91精品国产综合久久婷婷香蕉| 国产欧美日韩在线看| 天天综合网 天天综合色| 从欧美一区二区三区| 日韩免费成人网| 亚洲中国最大av网站| 国产乱人伦偷精品视频不卡| 88在线观看91蜜桃国自产| 中文幕一区二区三区久久蜜桃| 免费成人美女在线观看| 日本韩国欧美一区二区三区| 久久精品亚洲精品国产欧美kt∨| 亚洲第一搞黄网站| 波多野结衣亚洲| 国产免费观看久久| 麻豆国产一区二区| 欧美日韩黄色一区二区| ●精品国产综合乱码久久久久| 国产在线一区二区| 91精品欧美一区二区三区综合在| 亚洲精品高清视频在线观看| 成人国产精品免费观看视频| 国产日韩欧美精品综合| 人人精品人人爱| 欧美一区二区视频在线观看| 亚洲国产日韩av| 日本久久一区二区| 综合av第一页| 不卡av免费在线观看| 久久久久久久久久久99999| 麻豆精品久久久| 日韩精品自拍偷拍| 蜜桃视频第一区免费观看| 欧美精品九九99久久| 亚洲午夜激情av| 欧美精品一卡两卡| 亚洲国产成人91porn| 欧美日韩视频专区在线播放| 亚洲制服丝袜一区| 在线观看日韩毛片| 一级中文字幕一区二区| 91国产成人在线| 一区二区三区不卡视频在线观看| 色一情一伦一子一伦一区| 亚洲精选在线视频| 色综合久久久久| 一级精品视频在线观看宜春院| 91色在线porny| 亚洲精品日韩综合观看成人91| 色综合久久中文综合久久97| 亚洲黄网站在线观看| 欧美日韩中文另类| 日韩av中文字幕一区二区| 日韩精品一区二区三区视频| 激情av综合网| 国产精品久久久久四虎| zzijzzij亚洲日本少妇熟睡| 亚洲精品免费看| 欧美高清性hdvideosex| 久久99在线观看| 国产亚洲女人久久久久毛片| 91亚洲国产成人精品一区二区三 | 亚洲第一成年网| 制服.丝袜.亚洲.另类.中文| 久久av资源网| 中文字幕一区视频| 91影视在线播放| 日日夜夜免费精品| 26uuu色噜噜精品一区| 成人黄色免费短视频| 亚洲大尺度视频在线观看| 欧美成人在线直播| 成人激情开心网|