servletdispatcherresult.java

来自「struts 2 核心包 的源码 有错误是难免的」· Java 代码 · 共 67 行

JAVA
67
字号
// 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:   ServletDispatcherResult.java

package org.apache.struts2.dispatcher;

import com.opensymphony.xwork2.ActionInvocation;
import javax.servlet.RequestDispatcher;
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.struts2.ServletActionContext;

// Referenced classes of package org.apache.struts2.dispatcher:
//			StrutsResultSupport

public class ServletDispatcherResult extends StrutsResultSupport
{

	private static final long serialVersionUID = 0xe4a6cfd5319c8fc5L;
	private static final Log log = LogFactory.getLog(org/apache/struts2/dispatcher/ServletDispatcherResult);

	public ServletDispatcherResult()
	{
	}

	public ServletDispatcherResult(String location)
	{
		super(location);
	}

	public void doExecute(String finalLocation, ActionInvocation invocation)
		throws Exception
	{
		if (log.isDebugEnabled())
			log.debug((new StringBuilder()).append("Forwarding to location ").append(finalLocation).toString());
		PageContext pageContext = ServletActionContext.getPageContext();
		if (pageContext != null)
		{
			pageContext.include(finalLocation);
		} else
		{
			HttpServletRequest request = ServletActionContext.getRequest();
			HttpServletResponse response = ServletActionContext.getResponse();
			RequestDispatcher dispatcher = request.getRequestDispatcher(finalLocation);
			if (dispatcher == null)
			{
				response.sendError(404, (new StringBuilder()).append("result '").append(finalLocation).append("' not found").toString());
				return;
			}
			if (!response.isCommitted() && request.getAttribute("javax.servlet.include.servlet_path") == null)
			{
				request.setAttribute("struts.view_uri", finalLocation);
				request.setAttribute("struts.request_uri", request.getRequestURI());
				dispatcher.forward(request, response);
			} else
			{
				dispatcher.include(request, response);
			}
		}
	}

}

⌨️ 快捷键说明

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