Class ActionRedirect
- All Implemented Interfaces:
Serializable
A subclass of ActionForward
which is designed for use in
redirecting requests, with support for adding parameters at runtime.
An ForwardConfig
(or subclass) can be passed to the constructor to
copy its configuration:
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ActionRedirect redirect = new ActionRedirect(mapping.findForward("doRedirect")); redirect.addParameter("param1","value1"); redirect.addParameter("param2","2"); redirect.addParameter("param3","3.0"); return redirect; }
- Version:
- $Rev$ $Date$
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected String
Holds the anchor value.Holds the redirect parameters.Fields inherited from class org.apache.struts.config.ForwardConfig
catalog, command, extensionProcessed, inherit, module, name, path, redirect
Fields inherited from class org.apache.struts.config.BaseConfig
configured
-
Constructor Summary
ConstructorDescriptionConstruct a new instance with redirect set to true and initialize parameter lists.ActionRedirect
(String path) Construct a new instance with the specified path and initialize parameter lists.ActionRedirect
(String name, String path, String module) Construct a new instance with the specified values and initialize parameter lists.ActionRedirect
(ForwardConfig baseConfig) Construct a new instance with aForwardConfig
object to copy name, path, contextRelative, and arbitrary property values from. -
Method Summary
Modifier and TypeMethodDescriptionaddParameter
(String fieldName, Object valueObj) Adds the object's toString() to the list of parameters if it's not null, or an empty string with the given fieldName if it is.Forms the string containing the parameters passed onto this object thru calls to addParameter().Get the original path without the parameters added at runtime.Forms the string containing the parameters passed onto this object thru calls to addParameter().getPath()
Get the path for this object, including any parameters that may have been added at runtime.Adds an anchor to the path.toString()
Return a string description of this object.Methods inherited from class org.apache.struts.config.ForwardConfig
checkCircularInheritance, getCatalog, getCommand, getExtends, getModule, getName, getRedirect, inheritFrom, isExtensionProcessed, processExtends, setCatalog, setCommand, setExtends, setModule, setName, setPath, setRedirect
Methods inherited from class org.apache.struts.config.BaseConfig
copyProperties, freeze, getProperties, getProperty, inheritProperties, setProperties, setProperty, throwIfConfigured
-
Field Details
-
parameterValues
Holds the redirect parameters. Each entry is either a String or a String[] depending on whether it has one or more entries.
-
anchorValue
Holds the anchor value.
-
-
Constructor Details
-
ActionRedirect
public ActionRedirect()Construct a new instance with redirect set to true and initialize parameter lists.
-
ActionRedirect
Construct a new instance with the specified path and initialize parameter lists.
- Parameters:
path
- Path for this instance
-
ActionRedirect
Construct a new instance with the specified values and initialize parameter lists.
- Parameters:
name
- Name of this instancepath
- Path for this instancemodule
- Module prefix, if any
-
ActionRedirect
Construct a new instance with a
ForwardConfig
object to copy name, path, contextRelative, and arbitrary property values from.- Parameters:
baseConfig
- theForwardConfig
to copy configuration values from
-
-
Method Details
-
addParameter
Adds the object's toString() to the list of parameters if it's not null, or an empty string with the given fieldName if it is.
- Parameters:
fieldName
- the name to use for the parametervalueObj
- the value for this parameter- Returns:
- The ActionRedirect instance this method is called on
-
setAnchor
Adds an anchor to the path. Technically, the anchor value is just stored for later and will be added to the path in getPath(). Note that this is a considerably simpler method than the addParmaeter method because aside from encoding the value, there isn't really anything to do. Passing in null is fine because that is the value that will be checked for later to determine whether to append an anchor to the path or not.
- Parameters:
anchorValue
- The anchor to append to the path- Returns:
- The ActionRefirect instance this method is called on
-
getOriginalPath
Get the original path without the parameters added at runtime.
- Returns:
- the original path as configured.
-
getPath
Get the path for this object, including any parameters that may have been added at runtime.
- Overrides:
getPath
in classForwardConfig
- Returns:
- The path for this object.
-
getAnchorString
Forms the string containing the parameters passed onto this object thru calls to addParameter().
- Returns:
- a string which can be appended to the URLs. The return string includes a leading hash mark (#).
-
getParameterString
Forms the string containing the parameters passed onto this object thru calls to addParameter().
- Returns:
- a string which can be appended to the URLs. The return string does not include a leading question mark (?).
-
toString
Return a string description of this object.
- Overrides:
toString
in classForwardConfig
- Returns:
- a string containing the original path for this object and the parameters it currently holds
-