局部变量是由动作自行控制的一种变量栈,因此在使用动作时请注意动作的文档是否说明了会启动局部变量栈,如果没有动作启动了局部变量栈,那么局部变量栈就有可能为null。
actionContext.peek().setVarScopeFlag(); //设置局部变量范围的标识
上面的语句就把当前的栈层设置为了局部变量,局部变量可以通过下面的方式获得。
//最近的一个局部变量 Bindings l = actionContext.l(); //第二近的局部变量,序列从0开始l()等于l(0) Bindings l = actionContext.l(1);
局部变量的作用。
//以上代码的示意代码如下 { String name = "hello world"; { String name = "hello world1"; } }
在以上示意代码中,actionContext.l().get("name")返回的是hello world1,而actionContext.l(1).get("name")返回的是hello world。
演示视频的示意代码,在演示视频中Begin相当于{},因为视频中的动作模型相当于如下代码:
{ String name = "local1"; println(name); { String name = "local2"; println(name); } println(name); }
以上执行的结果应该是:
local1 local2 local1
Copyright © 2007-2019 XWorker.org 版权所有 沪ICP备08000575号