ModelDrivenInterceptor使传值变得方便,但它本身并不负责注入值
看看其核心源代码:
protected void before(ActionInvocation invocation) throws Exception {
Action action = invocation.getAction();
if (action instanceof ModelDriven) {
ModelDriven modelDriven = (ModelDriven) action;
OgnlValueStack stack = invocation.getStack();
stack.push(modelDriven.getModel());
}
}
结论:
1)ModelDrivenInterceptor只是将实现了ModelDriven的action的model放入值栈而已,所以你才可以直接使用
<input type="text" name="type" />传值。
2)如果action没有实现此接口,那么配置ModelDrivenInterceptor没有任何意义
3)ModelDrivenInterceptor并不负责注入值,不要忘了为你的action配置ParametersInterceptor
看看其核心源代码:
protected void before(ActionInvocation invocation) throws Exception {
Action action = invocation.getAction();
if (action instanceof ModelDriven) {
ModelDriven modelDriven = (ModelDriven) action;
OgnlValueStack stack = invocation.getStack();
stack.push(modelDriven.getModel());
}
}
结论:
1)ModelDrivenInterceptor只是将实现了ModelDriven的action的model放入值栈而已,所以你才可以直接使用
<input type="text" name="type" />传值。
2)如果action没有实现此接口,那么配置ModelDrivenInterceptor没有任何意义
3)ModelDrivenInterceptor并不负责注入值,不要忘了为你的action配置ParametersInterceptor