Struts 2 拦截器教程2
来源:互联网 发布:电阻识别软件 安卓版 编辑:程序博客网 时间:2024/05/29 03:18
Struts 2 拦截器例题
在这个例子中我们将了解用不同的方法创建自定义拦截器(interceptor)并将它与动作(action)类相关联。
Struts 2带有预先定义好的一组拦截器(interceptor)和拦截器(interceptor)栈,你可以直接使用。struts-default.xml文件包含定义了所有拦截器(interceptor)和拦截器(interceptor)栈的struts-default包。
当用默认的defaultStack从struts-default包继承到你的包中,那么你可以在你的包中使用所有的动作(action)。在struts-default.xml文件中是这样设置的。
现在让我们来设定自己的拦截器(interceptor)栈。interceptor-stack是用来创建拦截器(interceptor)栈的元素。一个栈包含一组拦截器(interceptor)。在栈用interceptor-ref元素来定义拦截器(interceptor)。下面我们根据需要创建一个和defaultStack相似的栈并自定义一个校验(validation)拦截器(interceptor)。
在SampleAction类中包含populate(),execute()和validate(),三个方法。当我们继承ActionSupport类,就会捕获Validateable接口。动作(action)类中的validate()方法将会被工作流(workflow)拦截器(interceptor)调用。默认情况下,调用populate()和execute()方法时,都会调用一次validate()方法,但是我们只需要在调用execute()方法的时候调用。
我们可以为校验(validation)拦截器(interceptor)的excludeMethods参数指定方法。
struts.xml文件内容如下:
上面的代码和defaultStack相比仅仅是修改了校验(validation)拦截器(interceptor)的excludeMethods的参数值。这里只是向你展示如何自定义拦截器(interceptor)栈,你也可以用类似的方法来实现。
你也可以从defaultStack继承栈并重写校验(validation)拦截器(interceptor)的excludeMethods的参数值。方法如下:
SampleAction类的内容如下:
如果你用defaultStackf方式,没有做任何修改,那么输出的结果如下:
如果你用我们创建的exampleStack方式来运行,那么输出结果如下:
你可以看到,在执行populate()方法的时候,并没有调用validate()方法。你可以用这种方式根据需要自定义栈。
源代码:下载
源代码 + lib:下载
- Struts 2 拦截器教程2
- Struts 2 拦截器教程1
- Struts 2拦截器
- Struts 2拦截器
- struts 2 拦截器
- Struts 2 拦截器
- Struts 2拦截器
- Struts 2的拦截器
- Struts 2之拦截器
- Struts 2 之拦截器
- Struts 2读书笔记-----拦截器之拦截器的配置
- Struts 2读书笔记-----拦截器之拦截器的使用
- Struts 2 methodfilterinterceptor--拦截方法的拦截器
- Struts 2 methodfilterinterceptor--拦截方法的拦截器
- Struts 2 methodfilterinterceptor--拦截方法的拦截器
- Struts 2的拦截器(8)
- 基于Struts 2 拦截器实现
- Struts 2的拦截器原理
- test
- 上山打老虎个人论坛源码
- 楼市看法
- spring事务管理,AOP模式
- google与政府博弈
- Struts 2 拦截器教程2
- Google要退出了,是无奈还是情绪化?
- scp在Linux主机之间复制不用输入密码
- linux 获取当前程序路径
- TimeUtil-常用时间方法
- 第一章,一些基本概念
- log4j配置祥解
- 【收集】jquery视频教程
- 对/proc/buddyinfo的理解(转载)