Struts2注解拦截器(Before、After、BeforeResult)
来源:互联网 发布:淘宝开店提升流量 编辑:程序博客网 时间:2024/06/06 05:23
Struts2 在 com.opensymphony.xwork2.interceptor.annotations 包中定义了 3 个拦截器注解类型,让你可以不用编写拦截器类,直接通过注解的方式指定 action 执行之前和之后需要调用的方法。
Struts2 提供的 3 个拦截器注解类型都只能应用到方法级别。如下:
Before
标注一个 action 方法,该方法将在 action 的主要方法 ( 如 execute 方法 ) 调用之前调用。如果标注的方法有返回值,并且不为空,那么它的返回值将作为 Action 的结果代码。
After
标注一个 action 方法,该方法将在 action 的主要方法以及 result 执行之后调用,如果标注的方法有返回值,那么这个返回值将被忽略。
BeforeResult
标注一个 action 方法,该方法将在 action 的主要方法调用之后,在 result 执行之前调用,如果标注的方法有返回值,那么这个返回值将被忽略。
Before After 和 BeforeResult 注解的同名参数
下面是一个简单示例:
- package com.struts2.interceptor;
- import com.opensymphony.xwork2.ActionSupport;
- import com.opensymphony.xwork2.interceptor.annotations.After;
- import com.opensymphony.xwork2.interceptor.annotations.Before;
- import com.opensymphony.xwork2.interceptor.annotations.BeforeResult;
- public class AnnoAction extends ActionSupport {
- /**
- * 注解
- */
- private static final long serialVersionUID = 1L;
- @Override
- public String execute() throws Exception {
- System.out.println("注解方法执行");
- return SUCCESS ;
- }
- @Before
- public void annoBefore(){
- System.out.println("方法执行前");
- }
- @After
- public void annoAfter(){
- System.out.println("方法执行后");
- }
- @BeforeResult
- public void annoBeforeResult(){
- System.out.println("返回result之前执行");
- }
- }
struts.xml里面配置:
- <!-- 注解示例 -->
- <action name="anno" class="com.struts2.interceptor.AnnoAction">
- <result name="success">/index.jsp</result>
- <interceptor-ref name="annoInterceptor"></interceptor-ref>
- <interceptor-ref name="defaultStack"></interceptor-ref>
- </action>
这里面引用了annoInteceptor,需要在Interceptors里面配置:
- <interceptors>
- <interceptor name="loginInterception" class="com.struts2.interceptor.LoginInterceptor">
- </interceptor>
- <interceptor name="preInter" class="com.struts2.interceptor.MyInterceptor"></interceptor>
- <interceptor name="annoInterceptor" class="com.opensymphony.xwork2.interceptor.annotations.AnnotationWorkflowInterceptor"></interceptor>
- </interceptors>
执行结果:
方法执行前
注解方法执行
返回result之前执行
方法执行后
转自:http://blog.csdn.net/gaowenming/article/details/4940378
0 0
- Struts2注解拦截器(Before、After、BeforeResult)
- struts2拦截器--注解
- struts2:使用拦截器注解
- struts2注解式拦截器
- struts2拦截器使用注解
- struts2注解下的拦截器配置
- struts2基于注解的拦截器配置
- struts2 注解配置拦截器 实例
- struts2注解下的拦截器配置
- struts2 注解配置拦截器 实例
- struts2自定义拦截器注解配置方法
- play framework 拦截器 @Before @After @With @Finally @Cath 等标签使用
- ::after / ::before
- before&&after
- JUnit4中@Before、@After、@Test等注解的作用
- TestNG入门——注解之Before/After
- 利用注解加拦截器实现struts2的权限设置
- 利用struts2拦截器加自定义注解实现权限控制
- NDK 获取Java中类及对象(包括C++与Java对象的数据交互)
- Hadoop文档整理
- 关于多线程访问sqlite 数据库的思考
- PHP 敏感词替换
- 网络中电信号和光信号的传播
- Struts2注解拦截器(Before、After、BeforeResult)
- 客户端访问某服务端响应返回相应的数据
- UNIX环境高级编程-第14章- 高级 I/O - 一
- 【C++专题】static_cast, dynamic_cast, const_cast探讨
- 如何编写好的用户手册?
- 岁月欢歌,流年似水,指染间,总是匆匆
- 稀疏表达和压缩感知的一些对比
- python 统计代码/注释/空白行 --- 0007
- 自己动手编译opencv源码(Win7 64位+Visual Studio2010+cmake2.8+OpenCV2.4.4)