开发者社区> 问答> 正文

strut2 拦截器能获得action执行后的结果吗

比如我的一个aciton是做一个add操作,然后会返回一个新增的对象,请问拦截器里能获得这个action执行后的对象吗?求解啊

展开
收起
长安归故里. 2020-01-31 13:36:53 937 0
1 条回答
写回答
取消 提交回答
  • public class ViewInterceptor extends AbstractInterceptor{  
         public String intercept(ActionInvocation invocation) throws Exception {  
        String s = invocation.invoke();  
              Object action = invocation.getInvocationContext().get("action");  
             System.out.println("action---"+action.getClass());  
             if(action instanceof StudentRegisterListAction){  
                 StudentRegisterListAction sa = (StudentRegisterListAction)action;  
                 System.out.println(sa.getIdCard());  
                 System.out.println(sa.getUserName());  
             }  
             Field[] fields = action.getClass().getDeclaredFields();  
             Method[] methods = action.getClass().getMethods();  
             for(Field field: fields){  
                 Class c = field.getType();  
                 System.out.println("字段类型--------"+c.getName());  
                 System.out.println("字段名称--------"+field.getName());  
                 if(field.isAccessible()){  
                     System.out.println(field.get(action));  
                 }else{  
                     String methodName = "get"+field.getName().substring(0, 1).toUpperCase()+field.getName().substring(1,field.getName().length());  
                     System.out.println(methodName);  
                     for(Method m: methods){  
                    //   System.out.println("方法名---"+m.getName());  
                         if(m.getName().equals(methodName)){  
                             System.out.println("字段值-----"+m.invoke(action, null));  
                         }  
                     }  
                 }  
                  
              
             }  
            return s;  
    }  
    }
    
    2020-01-31 13:37:06
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载