局部变量是由动作自行控制的一种变量栈,因此在使用动作时请注意动作的文档是否说明了会启动局部变量栈,如果没有动作启动了局部变量栈,那么局部变量栈就有可能为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-2014 XWorker.org 版权所有