Home > FAQs > How can we access request parameters passed into an Action |

Apache Struts 2 Documentation
How can we access request parameters passed into an Action
Edit Page Browse Space Add Page Add News

You can obtain the request parameters by asking the ActionContext or implementing ParameterAware. Implementing ParameterAware is preferred.

## Ask the ActionContext

The request parameters are available on the ActionContext instance, which is made available via ThreadLocal.

## Implement ParameterAware

Preferred

- Ensure that `servlet-config` Interceptor is included in the Action's stack.
  - The default stack already includes `servlet-config`.
- Edit the Action so that it implements the ParameterAware interface.
  - The ParameterAware interface expects a `setParameters` method. You may wish to include a companion `getParameters` method.
- At runtime, call `getParameters` to obtain a Map representing the request parameters.

Icon

When the `servlet-config` Interceptor sees that an Action implements ParameterAware, it passes a Map of the request parameters to the Action's `setParameters` method.

Icon

To unit test a ParameterAware Action, create your own Map with the pertinent request parameters and call `setParameters` as part of the test's `setUp` method.

@see struts-default.xml
@see org.apache.struts.action2.interceptor.ParameterAware
@see org.apache.struts.action2.interceptor.Servlet Config Interceptor