Struts 2 Interceptors

In this struts tutorial section we will discuss about Struts 2 Interceptors. This Struts 2 framework relies upon Interceptors to do most of the work before and after an action is executed. Interceptors are by default part of Struts 2 default stack and are executed in a specific order. Interceptors are used to process logic before and after an action is called.

Struts 2 Interceptors


Struts 2 Interceptors

Struts 2 framework relies upon Interceptors to do most of the work before and after an action is executed. Interceptors are by default part of Struts 2 default stack and are executed in a specific order. Interceptors are used to process logic before and after an action is called. They can also change the state of an action before it executes.

Interceptors are standard Java classes that prevent duplicate actions from firing. Interceptors are pluggable, which means that you can decide which features an Action needs to support and which it should ignore.

Interceptors are invoked by the controller before and after an action is called.

However, one can also specify and write their own stack of interceptors that the Action or package should use on a per-action basis and add it to the already existing Interceptors in the framework.

Interceptor Name Description
Alias Interceptor alias Alias Interceptor helps in converting similar parameters.
Chaining Interceptor chain Chaining Interceptor allows tge current Action to access the properties of previous Action.
Checkbox Interceptor checkbox Checkbox Interceptor detects any unchecked checkbox and add it as a parameter with a false value.
Cookie Interceptor cookie Cookie Interceptor adds customizable name / value in a cookie.
CookieProvider Interceptor cookieProvider CookieProvider Interceptor transfer cookies from action to response
Conversion Error Interceptor conversionError Conversion Error Interceptor adds conversion errors in the error field of Action
Create Session Interceptor createSession Create Session Interceptor creates an HttpSession automatically
Debugging Interceptor debugging Debugging Interceptor with the use of several debugging screens informs about the data behind the page.
Execute and Wait Interceptor execAndWait Execute and Wait Interceptor while executing the Action in background redirects the user to a waiting page.
Exception Interceptor exception Exception Interceptor maps exceptions to a result.
File Upload Interceptor fileUpload File Upload Interceptor adds easy access to file upload.
I18n Interceptor i18n I18n Interceptor remembers the locale of a user session.
Logger Interceptor logger Logger Interceptor gives the name of the Action.
Message Store Interceptor store Message Store Interceptor store and retrieves action or error messages for action that implements ValidationAware interface into session.
Model Driven Interceptor modelDriven Whenever action implements ModelDriven, Model Driven Interceptor adds the getModel Result onto the Value Stack.
Scoped Model Driven Interceptor scopedModelDriven When the action implements ScopedModelDriven, Scoped Model Driven Interceptor will retrieve the model from a scope and provide it to the action calling setModel.
Parameters Interceptor params Parameters Interceptor sets the request parameters onto the Action.
Prepare Interceptor prepare Prepare Interceptor calls prepare() on actions which implement Preparable. It ensures that a logic runs before the execute method runs.
Scope Interceptor scope Scope Interceptor stores action state in the session or application scope.
Servlet Config Interceptor servletConfig Servlet Config Interceptor provide access to HttpServletRequest and HttpServletResponse.
Static Parameters Interceptor staticParams You can define the Static Parameters while configuring your action class in the struts.xml.  The defined static params in the struts.xml file will be added to the request params map.
Roles Interceptor roles Roles Interceptor is executed if the user has the correct role.
Timer Interceptor timer Timer Interceptor determines how long the Action takes to execute in milliseconds.
Token Interceptor token Token Interceptor checks that a single valid token is processed in Action.
Token Session Interceptor tokenSession Token Session Interceptor checks that a single valid token is processed in Action but when an invalid token is processed it stores the submitted data in session.
Validation Interceptor validation Validation Interceptors checks the action against any validation rules using the validators.
Default Workflow Interceptor workflow Default Workflow Interceptor makes sure that there are no validation error before the interceptor chain continues.
Parameter Filter Interceptor N/A Parameter Filter Interceptor removes or blocks parameters from getting to the rest of the stack or your action.
Profiling Interceptor profiling Profiling Interceptor activates or deactivates profiling through parameter.
Multiselect Interceptor multiselect Multiselect Interceptor adds an empty parameter if no value is selected for a field with multiple values.

Read more tutorials at Struts 2.3.15.1 tutorials section, which gives advanced tutorials about the Struts 2 framework.