Struts 2 interceptor stack example
来源:互联网 发布:妩媚的女生 知乎 编辑:程序博客网 时间:2024/06/13 10:58
Often times, same set of interceptors may apply to different action classes, for example,
<package name="default" namespace="/" extends="struts-default"> <action name="checkInAction" class="com.mkyong.common.action.CheckInAction" > <interceptor-ref name="timer"/> <interceptor-ref name="logger"/> <interceptor-ref name="defaultStack" /> <result name="success">pages/checkIn.jsp</result> </action> <action name="checkOutAction" class="com.mkyong.common.action.CheckOutAction" > <interceptor-ref name="timer"/> <interceptor-ref name="logger"/> <interceptor-ref name="defaultStack" /> <result name="success">pages/checkOut.jsp</result> </action></package>
In above case, it has many duplicated works and not reusable at all.
Fortunately, Struts 2 comes with interceptor stack to allow developer to group a set of interceptors into a single unit called “stack name“, and the actions can reference it via the “stack name“.
Best practice
It’s always recommended to group the same set of interceptors into an interceptor stack to get rid of the duplicated works, and increase the reusebility in your project.
<package name="default" namespace="/" extends="struts-default"> <interceptors> <interceptor-stack name="defaultStackWithLog"> <interceptor-ref name="timer"/> <interceptor-ref name="logger"/> <interceptor-ref name="defaultStack" /> </interceptor-stack> </interceptors> <action name="checkInAction" class="com.mkyong.common.action.CheckInAction" > <interceptor-ref name="defaultStackWithLog"/> <result name="success">pages/checkIn.jsp</result> </action> <action name="checkOutAction" class="com.mkyong.common.action.CheckOutAction" > <interceptor-ref name="defaultStackWithLog"/> <result name="success">pages/checkOut.jsp</result> </action></package>
In above updated example, declares an interceptor stack, named “defaultStackWithLog
“, which includes the “timer
“, “logger
” and “defaultStack
” interceptors, and reference it as a normal interceptor via “interceptor-ref
” element.
- Struts 2 interceptor stack example
- Struts 2 interceptor stack example
- Struts 2 execAndWait interceptor example
- Struts 2 execAndWait interceptor example
- Struts 2 ModelDriven example
- Struts 2 creating own interceptor
- Struts 2 creating own interceptor
- struts interceptor
- struts interceptor
- struts ----Interceptor
- struts interceptor
- struts interceptor
- struts --interceptor
- 10.Struts 2 Actions Example
- Struts 2 Auto Completer Example
- Struts 2 Hello World Example
- Struts 2 Hello World Example
- Struts 2 @ResultPath annotation example
- 修改Oracle数据库字符集
- iOS获取plist文件属性值的方法
- LlistView的四种优化的方式
- 使用jQuery判断IE11
- java乱码总结
- Struts 2 interceptor stack example
- oracle rman 定时备份脚本
- linux查看系统负载
- 黑马程序员android 应用程序资源 以及访问
- Spring MVC中使用@Autowired实现自动注入
- C# 编写Windows Service(windows服务程序)
- phpMyAdmin Linux 安装 配置
- Android, 基本控件的使用
- 不容错过!开发者必备的十二大Android开发资源