Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

Code Block
Map parameters = ActionContext.getContext().getParameters();

Implement HttpParametersAware

(star) Preferred

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

 

Info

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.

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

Method A:
ActionContext.getParameters() (returns Map, works internally using a ThreadLocal)

Method B:
Have the action implements ParameterAware interface and the parameters will be set through the setParameters(Map) method. This requires that the 'servlet-config' interceptor being added to that particular action.

@see webwork-default.xml
@see com.opensymphony.webwork.interceptor.ParameterAware
@see com.opensymphony.webwork.interceptor.ServletConfigInterceptor