public class PortletActionRedirectResult extends PortletResult
ServletActionRedirectResult
.
This result uses the ActionMapper
provided by the
ActionMapperFactory
to instruct the render phase to invoke the
specified action and (optional) namespace. This is better than the
PortletResult
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:
<!-- START SNIPPET: example --> <package name="public" extends="struts-default"> <action name="login" class="..."> <!-- Redirect to another namespace --> <result type="redirect-action"> <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="redirect-action">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 redirect-action url generated will be : /genReport/generateReport.action?reportType=pie&width=100&height=100 --> <action name="gatherReportInfo" class="..."> <result name="showReportResult" type="redirect-action"> <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> </result> </action> </package> <!-- END SNIPPET: example -->
ActionMapper
,
Serialized FormModifier and Type | Field and Description |
---|---|
protected String |
actionName |
static String |
DEFAULT_PARAM
The default parameter
|
protected String |
method |
protected String |
namespace |
protected List<String> |
prohibitedResultParam |
portletMode
DEFAULT_URL_ENCODING, parseLocation
HTTP_REQUEST, HTTP_RESPONSE, PAGE_CONTEXT, SERVLET_CONTEXT, SERVLET_DISPATCHER, STRUTS_ACTION_TAG_INVOCATION, STRUTS_PORTLET_CONTEXT
Constructor and Description |
---|
PortletActionRedirectResult() |
PortletActionRedirectResult(String actionName) |
PortletActionRedirectResult(String actionName,
String method) |
PortletActionRedirectResult(String namespace,
String actionName,
String method) |
Modifier and Type | Method and Description |
---|---|
PortletActionRedirectResult |
addParameter(String key,
Object value)
Adds a request parameter to be added to the redirect url
|
void |
execute(ActionInvocation invocation) |
void |
setActionMapper(ActionMapper actionMapper) |
void |
setActionName(String actionName)
Sets the action name
|
void |
setMethod(String method)
Sets the method
|
void |
setNamespace(String namespace)
Sets the namespace
|
void |
setUrlHelper(UrlHelper urlHelper) |
convertQueryParamsToRenderParams, doExecute, executeActionResult, executeMimeResult, setContentType, setDispatcherServletName, setPortletMode, setTitle, setUseDispatcherServlet
conditionalParse, conditionalParseCollection, getLastFinalLocation, getLocation, setEncode, setLocation, setParse
public static final String DEFAULT_PARAM
protected String actionName
protected String namespace
protected String method
public PortletActionRedirectResult()
public PortletActionRedirectResult(String actionName)
public void setActionMapper(ActionMapper actionMapper)
public void setUrlHelper(UrlHelper urlHelper)
public void execute(ActionInvocation invocation) throws Exception
execute
in interface Result
execute
in class StrutsResultSupport
Exception
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 methodpublic PortletActionRedirectResult addParameter(String key, Object value)
key
- The parameter namevalue
- The parameter valueCopyright © 2000–2020 Apache Software Foundation. All rights reserved.