AnnotationWorkflowInterceptor
来源:互联网 发布:伯明翰大学 知乎 编辑:程序博客网 时间:2024/05/29 17:33
Struts2 利用配置拦截器AnnotationWorkflowInterceptor 实现Action公共类
(2011-10-11 13:22:56)▼
标签:
struts2
拦截器
杂谈
主要想实现的内容是执行一个Action时,执行用@after和@before声明的方法。
这里利用的是AnnotationWorkflowInterc
另外例子代码可以来这里找到http://blog.sina.com.cn/s/blog_57769b7b0100unbk.html
-------------------------------------------------------------------------------------------
首先配置struts.xml
<package name="default" namespace="/" extends="struts-default">
</package>
新建CommonAction.java
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;
import org.springframework.stereotype.Controller;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
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;
@Controller
public abstract class CommonAction extends ActionSupport implements SessionAware, ServletRequestAware, ServletResponseAware {
}
然后修改PagingSampleAction.java
public class PagingSampleAction extends CommonAction implements ModelDriven<PagingSampleModel> {
...................................
运行后可以看到log
[2011-10-11 13:54:38,778] INFO http-8080-Processor25 leo.test.action.PagingSampleAction - execute 开始
[2011-10-11 13:54:38,778] INFO http-8080-Processor25 leo.test.action.PagingSampleAction - searchCallList 开始
..............................................
[2011-10-11 13:54:39,559] INFO http-8080-Processor25 leo.test.action.PagingSampleAction - searchCallList 结束
[2011-10-11 13:54:39,559] INFO http-8080-Processor25 leo.test.action.PagingSampleAction - execute 结束
[2011-10-11 13:54:40,184] DEBUG http-8080-Processor25 leo.test.action.PagingSampleAction - ●●after: - leo.test.action.PagingSampleAction Result(success)
-------------------------------------------------------------------------------------------
可以得知,程序是按如下顺序运行的:
1.@Before定义的方法beforeMethod()
2.Action
3.@After定义的方法afterMethod()
- AnnotationWorkflowInterceptor
- 20个很棒的android开源项目帮助你提升开发技能
- getRunningTask API
- h5 固定底部
- MIPI-DSI
- 题目1143:Primary Arithmetic
- AnnotationWorkflowInterceptor
- Hive扩展功能(九)--Hive的行级更新操作(Update)
- LeetCode
- mysql处理海量数据时的一些优化查询速度方法
- salesforce 零基础学习(六十六)VF页面应善于使用变量和函数(二)常用函数的使用
- 嵌入式下Qt背景隐藏
- Windows7下Python3.4使用MySQL数据库(安装教程)
- 360浏览器默认打开页面的方式(极速、IE)
- Fresco使用的一些坑(初学者)