使用拦截器注解
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注解的同名参数
参数
|
类型
|
是否必要
|
默认值
|
描述
|
priority
|
int
|
否
|
10
|
指定方法执行的优先级别
|
同一个注解可以用来标注多个方法,方法执行的先后顺序可以通过priority参数来指定,优先级越高,方法越先执行。在相同的优先级的情况下,方法执行的先后顺序无法保证。不过有继承关系的action类,在基类上标注的方法将先于在派生类上标注的方法执行。
要使用拦截器注解,需要配置
<interceptors>
<!-- 配置注解拦截器 -->
<interceptor name="annotationInterceptor" class="com.opensymphony.xwork2.interceptor.annotations. AnnotationWorkflowInterceptor"/>
<interceptor-stack name="annotatedStack">
<interceptor-ref name="annotationInterceptor"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
我们看一个例子:
package com.zhaosoft.action;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.interceptor.annotations.After;
import com.opensymphony.xwork2.interceptor.annotations.Before;
import com.opensymphony.xwork2.interceptor.annotations.BeforeResult;
public class AnnotationAction implements Action {
@Before
public void before(){
System.out.println("before");
}
@After
public void after(){
System.out.println("after");
}
@BeforeResult
public void beforeResult(){
System.out.println("beforeResult");
}
分享到:
相关推荐
该例子为struts2注解与拦截器demo,利用myEclipse8.5开发,导入刚才后,自动加载所需struts2的jar包,可以直接运行,是初学struts2注解、拦截器很好的例子,保证10分钟学会2种技术,愿意分享给大家。
NULL 博文链接:https://takeme.iteye.com/blog/1651417
使用struts拦截器+注解实现日志审计功能 详见博客: http://blog.csdn.net/lk_blog/article/details/10248395
Struts2在com.opensymphony.xwork2.interceptor.annotations包中定义了3个拦截器注解类型。
struts2注解配置Action及拦截器几种不同方式写法对应的路径指向.docx
NULL 博文链接:https://johnson2132.iteye.com/blog/721069
NULL 博文链接:https://zhouxianglh.iteye.com/blog/523783
第1章 Struts 2:现代Web框架 2 1.1 Web应用程序:快速学习 2 1.1.1 构建Web应用程序 2 1.1.2 基础技术简介 3 1.1.3 深入研究 6 1.2 Web应用程序框架 7 1.2.1 什么是框架 7 1.2.2 为什么使用框架 8 1.3 Struts 2框架...
4.使用默认的execAndWait拦截器 33 5. TokenInterceptor防止表单重复提交。 34 6.使用拦截器实现权限验证 35 7.拦截器中的注解 37 8.使用PreResultListener实现回调 39 六、使用标签 40 1.基础表单标签 40 2.单选...
本书是广受赞誉的Struts 2优秀教程,它全面而深入地阐述了Struts 2的各个特性,并指导开发人员如何根据遇到的问题对症下药,选择使用最合适的特性。作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,...
用注解(annotation)方式配置struts2 (webwork) 中action的拦截器(interceptor)
18.3 使用DataSourceInjectorInterceptor拦截器 269 18.4 小结 273 第19章 定制结果类型 274 19.1 概述 274 19.2 编写一个自定义的结果类型 274 19.3 使用新的结果类型 277 19.4 小结 279 第20章 Velocity 280 ...
spring+struts2+hibernate3,开发deom,很简洁,很齐全的代码功能
SpringMVC笔记内容:第一天(SpringMVC的概述、SpringMVC与Struts2优势分析、重要组件、运行原理、SpringMVC环境搭建、@RequestMapping注解详解、字符编码过滤器、传参形式(基本数据类型或String、对象类型、对象....
框架配置较为全面,事务,切面,各种拦截器,且都为注解式开发模式,可应用在实际项目中,如有问题,加群:428476908,此为初始版本,如果有机会,会完善前台
5 spring容器内部使用拦截器,以Spring AOP的方式实现事务控制管理。 系统实体对象: 图书类型:图书类别,类别名称,可借阅天数 图书:图书条形码,图书名称,图书所在类别,图书价格,库存,出版社,图书图片 ...
此系统采用了目前最流行的ssm框架,其中的spingMVC框架相对于struts2框架更灵活,更安全。 2 本项目springMVC框架采用了注解映射器,使用了... 5 spring容器内部使用拦截器,以Spring AOP的方式实现事务控制管理。
3、系统利用struts2 拦截器 判断用户是否登录哦 4、使用p6spy 打印出hibernate 中已经替换了占位符参数的sql语句,为hibernate的调试不在感到苦恼 系统部署我使用的ant 部署,代码包含ant部署文件 skyline\...