org.apache.struts2.interceptor

## Class AliasInterceptor

- java.lang.Object
- - org.apache.struts2.interceptor.AbstractInterceptor
  - - org.apache.struts2.interceptor.AliasInterceptor

- All Implemented Interfaces:
    Serializable, ConditionalInterceptor, Interceptor

      public class AliasInterceptor
      extends AbstractInterceptor

  The aim of this Interceptor is to alias a named parameter to a different named parameter. By acting as the glue between actions sharing similar parameters (but with different names), it can help greatly with action chaining.

  Action's alias expressions should be in the form of `#{ "name1" : "alias1", "name2" : "alias2" }`. This means that assuming an action (or something else in the stack) has a value for the expression named name1 and the action this interceptor is applied to has a setter named alias1, alias1 will be set with the value from name1.

  Interceptor parameters:

  - aliasesKey (optional) - the name of the action parameter to look for the alias map (by default this is aliases).

  Extending the interceptor:

  This interceptor does not have any known extension points.

  Example code:

       <action name="someAction" class="com.examples.SomeAction">
           <!-- The value for the foo parameter will be applied as if it were named bar -->
           <param name="aliases">#{ 'foo' : 'bar' }</param>

           <interceptor-ref name="alias"/>
           <interceptor-ref name="basicStack"/>
           <result name="success">good_result.ftl</result>
       </action>

  Author:
    Matthew Payne
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected String` | `aliasesKey`
    `protected boolean` | `devMode`
    `protected LocalizedTextProvider` | `localizedTextProvider`
    `protected ValueStackFactory` | `valueStackFactory`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AliasInterceptor()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `intercept(ActionInvocation invocation)` Override to handle interception
    `protected boolean` | `isAccepted(String paramName)`
    `protected boolean` | `isExcluded(String paramName)`
    `protected boolean` | `isNotAcceptableExpression(String expression)` Checks if expression contains vulnerable code
    `void` | `setAcceptedPatterns(AcceptedPatternsChecker acceptedPatterns)`
    `void` | `setAcceptParamNames(String commaDelim)` Sets a comma-delimited list of regular expressions to match parameters that are allowed in the parameter map (aka whitelist).
    `void` | `setAliasesKey(String aliasesKey)` Sets the name of the action parameter to look for the alias map.
    `void` | `setDevMode(String mode)`
    `void` | `setExcludedPatterns(ExcludedPatternsChecker excludedPatterns)`
    `void` | `setExcludeParams(String commaDelim)` Sets a comma-delimited list of regular expressions to match parameters that should be removed from the parameter map.
    `void` | `setLocalizedTextProvider(LocalizedTextProvider localizedTextProvider)`
    `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`

- - ### Field Detail

    - #### aliasesKey

          protected String aliasesKey

    - #### valueStackFactory

          protected ValueStackFactory valueStackFactory

    - #### localizedTextProvider

          protected LocalizedTextProvider localizedTextProvider

    - #### devMode

          protected boolean devMode

  - ### Constructor Detail

    - #### AliasInterceptor

          public AliasInterceptor()

  - ### Method Detail

    - #### setDevMode

          public void setDevMode(String mode)

    - #### setValueStackFactory

          public void setValueStackFactory(ValueStackFactory valueStackFactory)

    - #### setLocalizedTextProvider

          public void setLocalizedTextProvider(LocalizedTextProvider localizedTextProvider)

    - #### setExcludedPatterns

          public void setExcludedPatterns(ExcludedPatternsChecker excludedPatterns)

    - #### setAcceptedPatterns

          public void setAcceptedPatterns(AcceptedPatternsChecker acceptedPatterns)

    - #### setAliasesKey

          public void setAliasesKey(String aliasesKey)

      Sets the name of the action parameter to look for the alias map.

      Default is `aliases`.

      Parameters:
        `aliasesKey` - the name of the action parameter

    - #### 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()`.

    - #### isAccepted

          protected boolean isAccepted(String paramName)

    - #### isExcluded

          protected boolean isExcluded(String paramName)

    - #### isNotAcceptableExpression

          protected boolean isNotAcceptableExpression(String expression)

      Checks if expression contains vulnerable code
      Parameters:
        `expression` - of interceptor
      Returns:
        true|false

    - #### setAcceptParamNames

          public void setAcceptParamNames(String commaDelim)

      Sets a comma-delimited list of regular expressions to match parameters that are allowed in the parameter map (aka whitelist).

      Don't change the default unless you know what you are doing in terms of security implications.

      Parameters:
        `commaDelim` - A comma-delimited list of regular expressions

    - #### setExcludeParams

          public void setExcludeParams(String commaDelim)

      Sets a comma-delimited list of regular expressions to match parameters that should be removed from the parameter map.
      Parameters:
        `commaDelim` - A comma-delimited list of regular expressions

Copyright © 2000–2026 Apache Software Foundation. All rights reserved.