Save This Page
Home » struts-2.0.11.2-src » org.apache » struts2 » dispatcher » [javadoc | source]
org.apache.struts2.dispatcher
abstract public class: StrutsResultSupport [javadoc | source]
java.lang.Object
   org.apache.struts2.dispatcher.StrutsResultSupport

All Implemented Interfaces:
    com.opensymphony.xwork2.Result, StrutsStatics

Direct Known Subclasses:
    PortletVelocityResult, PortletResult, PortletFreemarkerResult, StreamResult, PortletActionRedirectResult, PlainTextResult, ServletRedirectResult, FreemarkerResult, ServletActionRedirectResult, ServletDispatcherResult, VelocityResult

A base class for all Struts action execution results. The "location" param is the default parameter, meaning the most common usage of this result would be:

This class provides two common parameters for any subclass:

NOTE: The encode param will only have effect when parse is true

In the struts.xml configuration file, these would be included as:

<result name="success" type="redirect">
<param name="location">foo.jsp</param>
</result>

or

<result name="success" type="redirect" >
<param name="location">foo.jsp?url=${myUrl}</param>
<param name="parse">true</param>
<param name="encode">true</param>
</result>

In the above case, myUrl will be parsed against Ognl Value Stack and then URL encoded.

or when using the default parameter feature

<result name="success" type="redirect">foo.jsp</result>

You should subclass this class if you're interested in adding more parameters or functionality to your Result. If you do subclass this class you will need to override #doExecute(String, ActionInvocation) .

Any custom result can be defined in struts.xml as:

<result-types>
...
<result-type name="myresult" class="com.foo.MyResult" />
</result-types>

Please see the com.opensymphony.xwork2.Result class for more info on Results in general.

Field Summary
public static final  String DEFAULT_PARAM    The default parameter 
Constructor:
 public StrutsResultSupport() 
 public StrutsResultSupport(String location) 
 public StrutsResultSupport(String location,
    boolean parse,
    boolean encode) 
Method from org.apache.struts2.dispatcher.StrutsResultSupport Summary:
conditionalParse,   doExecute,   execute,   getLastFinalLocation,   setEncode,   setLocation,   setParse
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.apache.struts2.dispatcher.StrutsResultSupport Detail:
 protected String conditionalParse(String param,
    ActionInvocation invocation) 
    Parses the parameter for OGNL expressions against the valuestack
 abstract protected  void doExecute(String finalLocation,
    ActionInvocation invocation) throws Exception
    Executes the result given a final location (jsp page, action, etc) and the action invocation (the state in which the action was executed). Subclasses must implement this class to handle custom logic for result handling.
 public  void execute(ActionInvocation invocation) throws Exception 
    Implementation of the execute method from the Result interface. This will call the abstract method #doExecute(String, ActionInvocation) after optionally evaluating the location as an OGNL evaluation.
 public String getLastFinalLocation() 
    Returns the last parsed and encoded location value
 public  void setEncode(boolean encode) 
    Set encode to true to indicate that the location should be url encoded. This is set to true by default
 public  void setLocation(String location) 
    The location to go to after action execution. This could be a JSP page or another action. The location can contain OGNL expressions which will be evaulated if the parse parameter is set to true.
 public  void setParse(boolean parse) 
    Set parse to true to indicate that the location should be parsed as an OGNL expression. This is set to true by default.