struts2——拦截器
来源:互联网 发布:淘宝怎么看海淘 编辑:程序博客网 时间:2024/04/30 01:45
1、自定义拦截器3、Interceptor
- 自定义一个实现Interceptor接口(或者继承自AbstractInterceptor或者是MethodFilterInterceptor)的类。
- 在struts.xml中注册上一步中定义的拦截器。
- 在需要使用的Action中引用上述定义的拦截器,为了方便也可将拦截器定义为默认的拦截器,这样在不加特殊声明的情况下所有的Action都被这个拦截器拦截。
2、AbstractInterceptor
AbstractInterceptor实现了init()和destory()的空实现。
package org.lazyzhong.test;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.AbstractInterceptor;import com.opensymphony.xwork2.interceptor.PreResultListener;public class MyInterceptor extends AbstractInterceptor{private static final long serialVersionUID = 5955948189153971267L;private String mytmp; //拦截器的配置参数public String getMytmp() {return mytmp;}public void setMytmp(String mytmp) {this.mytmp = mytmp;}@Overridepublic String intercept(ActionInvocation arg0) throws Exception {arg0.addPreResultListener(new PreResultListener() { //这个监听器在执行完action返回了一个值但还没渲染页面时触发public void beforeResult(ActionInvocation arg0, String arg1) {System.out.println(arg0.getResultCode());System.out.println(arg1);}});arg0.invoke();return null; //返回值的作用是根据返回值来渲染到对应的页面,但是只有在没有调用invoke()方法即没有执行action的情况下起作用。}}
3、Interceptor
public class MyInterceptor implements Interceptor{@Overridepublic void destroy() { //在拦截器被垃圾回收之前调用}@Overridepublic void init() { //在拦截器被创建之后,在action被调用之前创建}@Overridepublic String intercept(ActionInvocation arg0) throws Exception {return null;}}
4、MethodFilterInterceptor
public class MyInterceptor extends MethodFilterInterceptor{@Overrideprotected String doIntercept(ActionInvocation arg0) throws Exception {return null;}}
5、配置拦截器
<!-- 在package元素中添加 --> <interceptors> <interceptor name="tmp" class="org.lazyzhong.test.MyInterceptor" /> //定义自己的拦截器类 <interceptor-stack name="myInterceptor"> //定义拦截器栈 <interceptor-ref name="tmp"> <param name="mytmp">lazyzhong</param> </interceptor-ref> <interceptor-ref name="defaultStack" /> </interceptor-stack> </interceptors> <default-interceptor-ref name="myInterceptor" /> //设置成默认拦截器,默认对所有的action都有效,除非action另外配置了拦截器。 //也可以在具体的action中指定使用的拦截器,注意最后一定要加上<interceptor-ref name="defaultStack" /> 这个默认的拦截器,否则会出错。 //可以通过<param>来给拦截器初始化参数。 //每个action都默认有excludeMethods 和includeMethods 参数,来表明要拦截哪些方法,不拦截哪些。多个方法名之间用“,”分隔。
- Struts2—拦截器
- struts2——拦截器
- Struts2——拦截器
- Struts2—拦截器(一)
- Struts2拦截器 —— prepare拦截器
- Struts2拦截器—自定义拦截器验证用户登录
- Struts2.0——什么是拦截器
- struts2——拦截器原理模拟!!!
- struts2——自定义拦截器!!!
- struts2——自定义拦截器
- Struts2(五)——核心拦截器
- struts2进阶【6】——拦截器
- Struts2笔记——自定义拦截器
- Struts2——MethodFilterInterceptor--方法拦截器
- 【SSH】——struts2 拦截器
- Struts2(五)——核心拦截器
- Struts2——拦截器(interceptor)
- Struts2(五)——核心拦截器
- 使用Audio Toolbox framework调用系统声音
- Enterprise Linux 6.5 (RHEL 6.5) 正式版发布(20131122)
- Linux基础知识总结-过滤器、重定向与管道
- jquery 1.4.2出现异常,求大神解决
- MzTreeView(梅花雪)完全攻略
- struts2——拦截器
- UEditor的不能编译一些问题
- socket 使用代理
- 省市县数据 Insert SQL
- 怎样在记事本中用好打印机
- 游戏开发 学习笔记
- 实战设计模式之命名模式
- Qt入门-控件颜色面板类QPalette
- QQ是怎么实现通讯的-只为学习