public class ServletActionRedirectResult extends ServletRedirectResult implements ReflectionExceptionHandler, Redirectable
This result uses the ActionMapper
provided by the
ActionMapperFactory to redirect the browser to a URL that invokes the
specified action and (optional) namespace. This is better than the
ServletRedirectResult
because it does not require you to encode the
URL patterns processed by the ActionMapper
in to your struts.xml
configuration files. This means you can change your URL patterns at any point
and your application will still work. It is strongly recommended that if you
are redirecting to another action, you use this result rather than the
standard redirect result.
See examples below for an example of how request parameters could be passed in.
This result type takes the following parameters:
Example:
<package name="public" extends="struts-default"> <action name="login" class="..."> <!-- Redirect to another namespace --> <result type="redirectAction"> <param name="actionName">dashboard</param> <param name="namespace">/secure</param> </result> </action> </package> <package name="secure" extends="struts-default" namespace="/secure"> <-- Redirect to an action in the same namespace --> <action name="dashboard" class="..."> <result>dashboard.jsp</result> <result name="error" type="redirectAction">error</result> </action> <action name="error" class="..."> <result>error.jsp</result> </action> </package> <package name="passingRequestParameters" extends="struts-default" namespace="/passingRequestParameters"> <!-- Pass parameters (reportType, width and height) --> <!-- The redirectAction url generated will be : /genReport/generateReport.action?reportType=pie&width=100&height=100#summary --> <action name="gatherReportInfo" class="..."> <result name="showReportResult" type="redirectAction"> <param name="actionName">generateReport</param> <param name="namespace">/genReport</param> <param name="reportType">pie</param> <param name="width">100</param> <param name="height">100</param> <param name="empty"></param> <param name="suppressEmptyParameters">true</param> <param name="anchor">summary</param> </result> </action> </package>
ActionMapper
,
Serialized FormModifier and Type | Field and Description |
---|---|
protected String |
actionName |
static String |
DEFAULT_PARAM |
protected String |
method |
protected String |
namespace |
actionMapper, anchor, prependServletContext, requestParameters, statusCode, suppressEmptyParameters
DEFAULT_URL_ENCODING, parseLocation
HTTP_REQUEST, HTTP_RESPONSE, PAGE_CONTEXT, SERVLET_CONTEXT, SERVLET_DISPATCHER, STRUTS_ACTION_TAG_INVOCATION, STRUTS_PORTLET_CONTEXT
Constructor and Description |
---|
ServletActionRedirectResult() |
ServletActionRedirectResult(String actionName) |
ServletActionRedirectResult(String actionName,
String method) |
ServletActionRedirectResult(String namespace,
String actionName,
String method) |
ServletActionRedirectResult(String namespace,
String actionName,
String method,
String anchor) |
Modifier and Type | Method and Description |
---|---|
void |
execute(ActionInvocation invocation)
Implementation of the execute method from the Result interface.
|
protected List<String> |
getProhibitedResultParams() |
void |
setActionName(String actionName)
Sets the action name
|
void |
setMethod(String method)
Sets the method
|
void |
setNamespace(String namespace)
Sets the namespace
|
addParameter, doExecute, handle, isPathUrl, sendRedirect, setActionMapper, setAnchor, setPrependServletContext, setStatusCode, setSuppressEmptyParameters, setUrlHelper
conditionalParse, conditionalParseCollection, getLastFinalLocation, getLocation, setEncode, setLocation, setParse
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
handle
public static final String DEFAULT_PARAM
protected String actionName
protected String namespace
protected String method
public ServletActionRedirectResult()
public ServletActionRedirectResult(String actionName)
public ServletActionRedirectResult(String namespace, String actionName, String method)
public void execute(ActionInvocation invocation) throws Exception
StrutsResultSupport
StrutsResultSupport.doExecute(String, ActionInvocation)
after optionally evaluating the
location as an OGNL evaluation.execute
in interface Result
execute
in class ServletRedirectResult
invocation
- the execution state of the action.Exception
- if an error occurs while executing the result.Result.execute(com.opensymphony.xwork2.ActionInvocation)
public void setActionName(String actionName)
actionName
- The namepublic void setNamespace(String namespace)
namespace
- The namespacepublic void setMethod(String method)
method
- The methodprotected List<String> getProhibitedResultParams()
getProhibitedResultParams
in class ServletRedirectResult
Copyright © 2000–2020 Apache Software Foundation. All rights reserved.