美文网首页
Java和 JavaScript

Java和 JavaScript

作者: 吃块西瓜写代码 | 来源:发表于2019-07-27 11:45 被阅读0次

    使用Java语言编写的JavaScript的开源实现Rhino;

    测试脚本引擎Rhino
    public class Demo01{
    //- 获得脚本引擎对象
        public static void main(String[] args){
       ScriptEngineManager sem = new ScriptEngineManager();
       ScriptEngine engine = sem.getEngineByName("javascript");
    //定义变量,存储到上下文中
        engine.put("msg","hello");
        String str = "var user = {name: "lpc" }";
    str +="println(user.name");
    
    engine.eval(str);//被js操作
    engine.eval("msg = 'ssfaas'");
    System.out.println(engine.get("msg"));//被java操作
    
    //定义函数
    engine.eval("function add(a,b){var sum = a+b;return sum;}");
    //执行函数
    Invocable jsInvoke = (Invocable)engine;
    Object result = jsInvoke.invokefunction("add", new Objec[] {13,20})
    
    //导入其他java包,使用其他包中的java类
    String jsCode = "importPackage(java.util); var list = Arrays.asList([\"nihao\"])"
    engine.eval(jsCode);
    List<String> list2 = (List<String>) engine..get("list");
    //执行一个js文件
    URL url = Demo01.class.getClassLoader().getResource("a.js");
    engine.eval(new FileReader(url.getPath()));
    
    }
    
    }
    

    相关文章

      网友评论

          本文标题:Java和 JavaScript

          本文链接:https://www.haomeiwen.com/subject/qcyjrctx.html