7..Action类接收参数(模型驱动)

 . 模型驱动实际上就是将JavaBean对象放到栈顶
 . 模型驱动是将多个从页面获取的值直接做用到某个指定的JavaBean上。
 . 模型驱动是通过模型驱动拦截器ModelDriver实现的
 . 模型驱动的实现必须借助于ModelDriver<T>类。
 . 模型驱动 在页面声明参数和获取数据时不用写user.name,直接写name
   ${requestScope.name},${requestScope.pwd},${requestScope.age}

        //模型驱动
         public class UserModelAction implements ModelDriven<User> {
            public String execute(){
                System.err.println("user is :"+this.user);
                return "success";
            }
            
        //    声明user对象的实例,必须要直接初始化,可以提供getXX/getXx方法,建议不要提供
            private User user = new User();
            public User getModel() {
                return user;
            }

        }
        
    //源码
    /*    @Override
        public String intercept(ActionInvocation invocation) throws Exception {
            Object action = invocation.getAction();

            if (action instanceof ModelDriven) {
                ModelDriven modelDriven = (ModelDriven) action;
                ValueStack stack = invocation.getStack(); //获取值栈
                Object model = modelDriven.getModel();    //调用ModelDriven中的getModel()方法
                if (model !=  null) {
                    stack.push(model);                //压栈 
                }
                if (refreshModelBeforeResult) {
                    invocation.addPreResultListener(new RefreshModelBeforeResult(modelDriven, model));
                }
            }
            return invocation.invoke();
        }
    */    

 

posted @ 2013-02-13 17:40  一灵  阅读(264)  评论(0编辑  收藏  举报