Package org.apache.struts2.interceptor

# Class StaticParametersInterceptor

java.lang.Object
org.apache.struts2.interceptor.AbstractInterceptor
org.apache.struts2.interceptor.StaticParametersInterceptor

All Implemented Interfaces:
  `Serializable`, `ConditionalInterceptor`, `Interceptor`

public class StaticParametersInterceptor extends AbstractInterceptor
This interceptor populates the action with the static parameters defined in the action configuration. If the action implements `Parameterizable`, a map of the static parameters will be also be passed directly to the action. The static params will be added to the request params map, unless "merge" is set to false.

Parameters are typically defined with <param> elements within xwork.xml.

Interceptor parameters:

- None

Extending the interceptor:

There are no extension points to this interceptor.

Example code:

     <action name="someAction" class="com.examples.SomeAction">
         <interceptor-ref name="staticParams">
              <param name="parse">true</param>
              <param name="overwrite">false</param>
         </interceptor-ref>
         <result name="success">good_result.ftl</result>
     </action>

Author:
  Patrick Lightbody
See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `StaticParametersInterceptor()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `addParametersToContext(ActionContext ac, Map<String,?> newParams)`
  Adds the parameters into context's ParameterMap.
  `String`
  `intercept(ActionInvocation invocation)`
  Override to handle interception
  `protected Map<String,String>`
  `retrieveParameters(ActionContext ac)`
  `void`
  `setDevMode(String mode)`
  `void`
  `setLocalizedTextProvider(LocalizedTextProvider localizedTextProvider)`
  `void`
  `setMerge(String value)`
  `void`
  `setOverwrite(String value)`
  Overwrites already existing parameters from other sources.
  `void`
  `setParse(String value)`
  `void`
  `setValueStackFactory(ValueStackFactory valueStackFactory)`

  ### Methods inherited from class org.apache.struts2.interceptor.AbstractInterceptor

  `destroy, init, setDisabled, shouldIntercept`

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

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

- ## Constructor Details

  - ### StaticParametersInterceptor

    public StaticParametersInterceptor()

- ## Method Details

  - ### setValueStackFactory

    public void setValueStackFactory(ValueStackFactory valueStackFactory)

  - ### setDevMode

    public void setDevMode(String mode)

  - ### setLocalizedTextProvider

    public void setLocalizedTextProvider(LocalizedTextProvider localizedTextProvider)

  - ### setParse

    public void setParse(String value)

  - ### setMerge

    public void setMerge(String value)

  - ### setOverwrite

    public void setOverwrite(String value)
    Overwrites already existing parameters from other sources. Static parameters are the successor over previously set parameters, if true.
    Parameters:
      `value` - enable overwrites of already existing parameters from other sources

  - ### intercept

    public String intercept(ActionInvocation invocation) throws Exception
    Description copied from class: `AbstractInterceptor`
    Override to handle interception
    Specified by:
      `intercept` in interface `Interceptor`
    Specified by:
      `intercept` in class `AbstractInterceptor`
    Parameters:
      `invocation` - the action invocation
    Returns:
      the return code, either returned from `ActionInvocation.invoke()`, or from the interceptor itself.
    Throws:
      `Exception` - any system-level error, as defined in `Action.execute()`.

  - ### retrieveParameters

    protected Map<String,String> retrieveParameters(ActionContext ac)
    Parameters:
      `ac` - The action context
    Returns:
      the parameters from the action mapping in the context. If none found, returns an empty map.

  - ### addParametersToContext

    protected void addParametersToContext(ActionContext ac, Map<String,?> newParams)
    Adds the parameters into context's ParameterMap. As default, static parameters will not overwrite existing parameters from other sources. If you want the static parameters as successor over already existing parameters, set overwrite to `true`.
    Parameters:
      `ac` - The action context
      `newParams` - The parameter map to apply