广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州分享Java上下文实例二_北大青鸟IT学校

作者:邓华发布时间:2021-06-02分类:Java技术浏览:912


导读:前面惠州北大青鸟老师给大家分享了Java上下文的实例,下面老师再给大家分享Java上下文的实例二。

前面惠州北大青鸟老师给大家分享了Java上下文的实例,下面老师再给大家分享Java上下文的实例二。

实例

使用由同一ScriptEngineManager创建的引擎的全局和引擎范围绑定。

import static javax.script.ScriptContext.ENGINE_SCOPE;import static javax.script.ScriptContext.GLOBAL_SCOPE;import javax.script.Bindings;import javax.script.ScriptContext;import javax.script.ScriptEngine;import javax.script.ScriptEngineManager;import javax.script.ScriptException;import javax.script.SimpleScriptContext;public class Main {  public static void main(String[] args) throws ScriptException {
   ScriptEngineManager manager = new ScriptEngineManager();
   ScriptEngine engine = manager.getEngineByName("JavaScript");

   manager.put("n1", 1);
   String script = "var sum = n1 + n2;print(msg + "
       + "" n1=" + n1 + ", n2=" + n2 + " + "", sum=" + sum);";

   engine.put("n2", 2);
   engine.put("msg", "a string");
   engine.eval(script);

   Bindings bindings = engine.createBindings();
   bindings.put("n2", 3);
   bindings.put("msg", "another string");
   engine.eval(script, bindings);

   ScriptContext ctx = new SimpleScriptContext();
   Bindings ctxGlobalBindings = engine.createBindings();
   ctx.setBindings(ctxGlobalBindings, GLOBAL_SCOPE);
   ctx.setAttribute("n1", 4, GLOBAL_SCOPE);
   ctx.setAttribute("n2", 5, ENGINE_SCOPE);
   ctx.setAttribute("msg", "ScriptContext:", ENGINE_SCOPE);
   engine.eval(script, ctx);

   engine.eval(script);
 }
}

上面的代码生成以下结果。

a string n1=1,n2=2,sum=3

another string n1=1,n2=3,sum=4

ScriptContext:n1=4,n2=5,sum=9

a string n1=1,n2=2,sum=3

更多Java资讯关注网站动态,或者来惠州北大青鸟新方舟校区了解一下。

java5.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表