org.apache.struts2.result

## Class ServletDispatcherResult

- java.lang.Object
- - org.apache.struts2.result.StrutsResultSupport
  - - org.apache.struts2.result.ServletDispatcherResult

- All Implemented Interfaces:
    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`.

  See Also:
    `RequestDispatcher`, Serialized Form

- - ### Field Summary

    - ### Fields inherited from class org.apache.struts2.result.StrutsResultSupport

      `DEFAULT_PARAM, DEFAULT_URL_ENCODING, parseLocation`

    - ### Fields inherited from interface org.apache.struts2.StrutsStatics

      `ACTION_MAPPING, HTTP_REQUEST, HTTP_RESPONSE, PAGE_CONTEXT, SERVLET_CONTEXT, SERVLET_DISPATCHER, STRUTS_ACTION_TAG_INVOCATION, STRUTS_PORTLET_CONTEXT`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ServletDispatcherResult()`
    `ServletDispatcherResult(String location)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `doExecute(String finalLocation, ActionInvocation invocation)` Dispatches to the given location.
    `protected HttpParameters` | `getParameters(ActionInvocation invocation)`
    `void` | `setQueryStringParser(QueryStringParser queryStringParser)`

    - ### Methods inherited from class org.apache.struts2.result.StrutsResultSupport

      `conditionalParse, conditionalParseCollection, execute, getLastFinalLocation, getLocation, setEncode, setLocation, setParse`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ServletDispatcherResult

          public ServletDispatcherResult()

    - #### ServletDispatcherResult

          public ServletDispatcherResult(String location)

  - ### Method Detail

    - #### setQueryStringParser

          public void setQueryStringParser(QueryStringParser queryStringParser)

    - #### doExecute

          public void doExecute(String finalLocation,
                                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.
      Specified by:
        `doExecute` in class `StrutsResultSupport`
      Parameters:
        `finalLocation` - the location to dispatch to.
        `invocation` - the execution state of the action
      Throws:
        `Exception` - if an error occurs. If the dispatch fails the error will go back via the HTTP request.

    - #### getParameters

          protected HttpParameters getParameters(ActionInvocation invocation)

Copyright © 2000–2023 Apache Software Foundation. All rights reserved.