org.apache.struts2.dispatcher
类 ServletDispatcherResult
java.lang.Object
org.apache.struts2.dispatcher.StrutsResultSupport
org.apache.struts2.dispatcher.ServletDispatcherResult
- 所有已实现的接口:
- com.opensymphony.xwork2.Result, Serializable, StrutsStatics
public class ServletDispatcherResult
- extends StrutsResultSupport
Includes or forwards to a view (usually a jsp). Behind the scenes Struts
will use a RequestDispatcher, where the target servlet/JSP receives the same
request/response objects as the original servlet/JSP. Therefore, you can pass
data between them using request.setAttribute() - the Struts action is
available.
There are three possible ways the result can be executed:
- If we are in the scope of a JSP (a PageContext is available), PageContext's
include
method is called.
- If there is no PageContext and we're not in any sort of include (there is no
"javax.servlet.include.servlet_path" in the request attributes), then a call to
forward
is made.
- Otherwise,
include
is called.
This result type takes the following parameters:
- location (default) - the location to go to after execution (ex. jsp).
- parse - true by default. If set to false, the location param will not be parsed for Ognl expressions.
Example:
<result name="success" type="dispatcher">
<param name="location">foo.jsp</param>
</result>
This result follows the same rules from StrutsResultSupport
.
- 另请参见:
RequestDispatcher
,
序列化表格
ServletDispatcherResult
public ServletDispatcherResult()
ServletDispatcherResult
public ServletDispatcherResult(String location)
setUrlHelper
public void setUrlHelper(UrlHelper urlHelper)
doExecute
public void doExecute(String finalLocation,
com.opensymphony.xwork2.ActionInvocation invocation)
throws Exception
- Dispatches to the given location. Does its forward via a RequestDispatcher. If the
dispatch fails a 404 error will be sent back in the http response.
- 参数:
finalLocation
- the location to dispatch to.invocation
- the execution state of the action
- 抛出:
Exception
- if an error occurs. If the dispatch fails the error will go back via the
HTTP request.