模型驱动 :
默认把 model 对象压入到模型对象
由于 action 是在拦截器执行之后执行 , 实现 ModelDriven 接口后 , 具体实现类是 ModelDrivenInterceptor , 其中该拦截器有一段代码压置栈顶 ;
等这个的拦截器执行之后 , 当org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter被
执行第一次访问action被创建之后valueStack才被加载 , 所以此时的getModel() 返回的值仍然是action 的初始化的对象(此时返回的是空) , 等访问execute方法时进行的赋值 ,后 valuestack加载之后 ,在页面调用 ognl 表达式 , 此时 getModel() 的对象的引用指向了execute方法执行后的堆中的对象 , 此时才能访问到 model。