标签:modeldrivenintercept struts2
ModelDrivenInterceptor的核心源码 【说明】 ModelDrivenInterceptor是默认的拦截器链(struts-default)的一部分,当一个请求经过ModelDrivenInterceptor的时候,它会判断当前要调用的Action对象是否实现了ModelDriven接口, 如果实现了这个接口,则调用getModel()方法,并把返回值压入ValueStack。 // 核心代码: public class ModelDrivenInterceptor extends AbstractInterceptor { @Override public String intercept(ActionInvocation invocation) throws Exception { Object action = invocation.getAction(); // 如果action实现了ModelDriven接口,则执行下面的代码 if (action instanceof ModelDriven) { // 把action强转为ModelDriven ModelDriven modelDriven = (ModelDriven) action; // 获得值栈 ValueStack stack = invocation.getStack(); // 获得model Object model = modelDriven.getModel(); if (model != null) { // ***** 把获得的model压入ValueStack的对象栈(Value Stack Contents)中 ***** stack.push(model); } } return invocation.invoke(); } }
Struts2源码分析(一) 一一一 ModelDrivenInterceptor
标签:modeldrivenintercept struts2
原文地址:http://blog.csdn.net/wodewutai17quiet/article/details/45458537