⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 servletconfiginterceptor.java

📁 struts 2 核心包 的源码 有错误是难免的
💻 JAVA
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   ServletConfigInterceptor.java

package org.apache.struts2.interceptor;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
import java.util.Map;
import javax.portlet.PortletRequest;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.StrutsStatics;
import org.apache.struts2.portlet.interceptor.PortletPrincipalProxy;
import org.apache.struts2.servlet.interceptor.ServletPrincipalProxy;
import org.apache.struts2.util.ServletContextAware;

// Referenced classes of package org.apache.struts2.interceptor:
//			ServletRequestAware, ServletResponseAware, ParameterAware, RequestAware, 
//			SessionAware, ApplicationAware, PrincipalAware

public class ServletConfigInterceptor extends AbstractInterceptor
	implements StrutsStatics
{

	private static final long serialVersionUID = 0x86652615163479eL;

	public ServletConfigInterceptor()
	{
	}

	public String intercept(ActionInvocation invocation)
		throws Exception
	{
		Object action = invocation.getAction();
		ActionContext context = invocation.getInvocationContext();
		if (action instanceof ServletRequestAware)
		{
			HttpServletRequest request = (HttpServletRequest)context.get("com.opensymphony.xwork2.dispatcher.HttpServletRequest");
			((ServletRequestAware)action).setServletRequest(request);
		}
		if (action instanceof ServletResponseAware)
		{
			HttpServletResponse response = (HttpServletResponse)context.get("com.opensymphony.xwork2.dispatcher.HttpServletResponse");
			((ServletResponseAware)action).setServletResponse(response);
		}
		if (action instanceof ParameterAware)
			((ParameterAware)action).setParameters(context.getParameters());
		if (action instanceof RequestAware)
			((RequestAware)action).setRequest((Map)context.get("request"));
		if (action instanceof SessionAware)
			((SessionAware)action).setSession(context.getSession());
		if (action instanceof ApplicationAware)
			((ApplicationAware)action).setApplication(context.getApplication());
		if (action instanceof PrincipalAware)
		{
			HttpServletRequest request = (HttpServletRequest)context.get("com.opensymphony.xwork2.dispatcher.HttpServletRequest");
			Object portletRequest = context.get("struts.portlet.request");
			if (portletRequest != null)
				((PrincipalAware)action).setPrincipalProxy(new PortletPrincipalProxy((PortletRequest)portletRequest));
			else
				((PrincipalAware)action).setPrincipalProxy(new ServletPrincipalProxy(request));
		}
		if (action instanceof ServletContextAware)
		{
			ServletContext servletContext = (ServletContext)context.get("com.opensymphony.xwork2.dispatcher.ServletContext");
			((ServletContextAware)action).setServletContext(servletContext);
		}
		return invocation.invoke();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -