Struts 2 mapping interceptors to action

Struts 2 developers are used to declare the actions belong to a package that extend the “struts-default“, which contains the default set of interceptors.


<package name="default" namespace="/" extends="struts-default">
	<action name="testingAction" 
		class="com.mkyong.common.action.TestingAction" >
		<result name="success">pages/result.jsp</result>
	</action>
</package>

The default set of interceptors are grouped as “defaultStack” in struts-default.xml file, which is located in the struts2-core.jar file. The “defaultStack” provides all the core Struts 2 functionality, which is suit the need of most application.

Try study the struts-default.xml file, it’s always the best interceptors reference.

Mapping interceptor to action

To map other interceptors to action, use the “interceptor-ref” element.


<package name="default" namespace="/" extends="struts-default">
	<action name="testingAction" 
		class="com.mkyong.common.action.TestingAction" >
		<interceptor-ref name="timer"/>
		<interceptor-ref name="logger"/>
		<result name="success">pages/result.jsp</result>
	</action>
</package>

In above snippet code, it map the “timer” and “logger” interceptors to the “TestingAction” action class via “interceptor-ref” element.

The interceptors will fire in the order they’re declared.

Since the “TestingAction” is declared it’s own interceptors, it’s immediate loses all the inherit default set of interceptors, you must explicitly declare the “defaultStack” in order to use it, see below example.


<package name="default" namespace="/" extends="struts-default">
	<action name="testingAction" 
		class="com.mkyong.common.action.TestingAction" >
		<interceptor-ref name="timer"/>
		<interceptor-ref name="logger"/>
		<interceptor-ref name="defaultStack"/>
		<result name="success">pages/result.jsp</result>
	</action>
</package>

Reference

  1. Struts 2 interceptor documentation

About the Author

author image
mkyong
Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter. If you like my tutorials, consider make a donation to these charities.

Comments

avatar
3 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
SureshRamakantStruts 2 Tutorials Recent comment authors
newest oldest most voted
Suresh
Guest
Suresh

Hi,
How can i get HttpServletRequest object in struts 2,From action class how to get the form data to the jsp page that data is available in request object.please reply me asap.

Thanks
Suresh

Ramakant
Guest
Ramakant

In my example when i include any default interceptor then data which is showing on welcome jsp is not come.

My Struts File is

welcome.jsp

trackback
Struts 2 Tutorials

[…] Mapping interceptors to action Configurate the interceptoes to action. […]