Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1147493
  • 博文数量: 234
  • 博客积分: 5592
  • 博客等级: 大校
  • 技术积分: 1987
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-23 14:12
文章分类

全部博文(234)

文章存档

2015年(1)

2013年(4)

2012年(16)

2011年(204)

2010年(9)

分类: Java

2011-05-06 15:23:38

使用自定义的拦截器配置在struts配置文件的action中,还要引入defaultStack,否则使用了modelDriven的formBean将不能获取到form表单中字段的值。

action:

  1. public class LoginAction implements Action, ModelDriven {  
  2.     private UserForm userForm=new UserForm();  
  3.     private IUserBO iUserBO;  
  4.   
  5.     public String login() {  
  6.         User user=iUserBO.getUser(userForm.getUsername(), userForm.getPassword());  
  7.         if (user!=null) {  
  8.             return SUCCESS;  
  9.         } else {  
  10.             return ERROR;  
  11.         }  
  12.   
  13.     }  
  14.   
  15.   
  16.     public String execute() throws Exception {  
  17.         // TODO Auto-generated method stub  
  18.         return SUCCESS;  
  19.     }  
  20.   
  21.     public UserForm getModel() {  
  22.         return userForm;  
  23.     }  
  24.   
  25.     public IUserBO getiUserBO() {  
  26.         return iUserBO;  
  27.     }  
  28.   
  29.     public void setiUserBO(IUserBO iUserBO) {  
  30.         this.iUserBO = iUserBO;  
  31.     }  
  32.   
  33. }  

拦截器:

 

  1. public class FilterTest extends MethodFilterInterceptor {  
  2.     Logger logger = Logger.getLogger(this.getClass());  
  3.   
  4.     @Override  
  5.     protected String doIntercept(ActionInvocation invocation) throws Exception {  
  6.         // TODO Auto-generated method stub  
  7.         logger.info("==========action执行前插入代码===============");  
  8.         String s=invocation.invoke();  
  9.         logger.info("==========invocation.invoke():"+s);  
  10.         logger.info("==========action执行后插入代码===============");  
  11.         return s;  
  12.         }  
  13.   
  14. }  

struts配置文件:

  1.   
  2.   
  3.     <package name="struts" extends="struts-default" namespace="/test">  
  4.        
  5.         "testInterceptor" class="filterBase.FilterTest">  
  6.           
  7.        
  8.         "loginAction" class="LoginAction" method="login">  
  9.             "success">/success.jsp  
  10.             "error">/error.jsp  
  11.             "defaultStack"/>  
  12.     
  13.             "testInterceptor">  
  14.                 "includeMethods">login   
  15.               
  16.           
  17.     package>  
  18.   

阅读(2711) | 评论(0) | 转发(0) |
0

上一篇:Struts2拦截器

下一篇:struts2之constant 讲解

给主人留下些什么吧!~~