• Atitit。Js调用后台语言 java c#  php swing android  swt的方法大总结


    AtititJs调用后台语言 java c#  php swing android  swt的方法大总结

     

     

    1. Js调用后台语言有三种方法1

    2. Swt  BrowserFunction 绑定方法1

    3. Android webview 可以绑定对象1

    4. Js 调用Java Nashorn引擎,可以绑定对象1

    4.1. 绑定对象方式2

    4.2. Nashorn直接使用Java2

    5. 参考2

    1. Js调用后台语言有三种方法

    绑定方法,绑定对象,直接使用api引入宿主环境

    2. Swt  BrowserFunction 绑定方法

    BrowserFunction 是个非常有意思的类,它可以为 Browser 永久绑定一个 JavaScript 方法,它的构造函数是 BrowserFunction(browser:Browser, name:String)

     

     

    3. Android webview 可以绑定对象

      webView.addJavascriptInterface(new browExtObj(this), "browExt");

       webView.addJavascriptInterface(new JsBridge(this), "jsBridge");

     

    作者::  ★(attilax)>>>   绰号:老哇的爪子  全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊  汉字名:艾龙,  EMAIL:1466519819@qq.com

    转载请注明来源: http://www.cnblogs.com/attilax/

     

     

    4. Js 调用Java Nashorn引擎,可以绑定对象

     

    4.1. 绑定对象方式

    package aaaAddr;

     

    import javax.script.ScriptEngine;

    import javax.script.ScriptEngineManager;

    import javax.script.ScriptException;

    import javax.script.SimpleBindings;

     

    public class js2java {

     

    public static void main(String[] args) throws ScriptException {

    // Nashorn——在JDK 8中融合JavaJavaScript之力.htm

    // …或者你可以在Java中传递绑定,它们是可以从JavaScript引擎内部访问的全局变量

    ScriptEngineManager scriptEngineManager = new ScriptEngineManager();

    ScriptEngine nashorn = scriptEngineManager.getEngineByName("nashorn");

     

    int valueIn = 10;

    SimpleBindings simpleBindings = new SimpleBindings();

    simpleBindings.put("globalValue", valueIn);

    simpleBindings.put("extObj", new Obj());

    Object o = nashorn.eval("print (globalValue)", simpleBindings);

      o = nashorn.eval("print (extObj.play('aaa'))", simpleBindings);

    System.out.println(o);

    }

    }

     

    4.2. Nashorn直接使用Java

    前面已经提到,Nashorn最强大的功能之一源于在JavaScript中调用Java类。你不仅能够访问类并创建实例,你还可以继承他们,调用他们的静态方法,几乎可以做任何你能在Java中做的事。

     

    5. 参考

    atitit.javascript调用java in swt attilax 总结 - attilax的专栏 - 博客频道 - CSDN.NET.html

     

    Nashorn——在JDK 8中融合JavaJavaScript之力.htm

     

  • 相关阅读:
    Java包装类
    Java锁机制ReentrantLock
    Java内部类介绍
    JAVA多线程学习六-守护线程
    JAVA多线程学习五:线程范围内共享变量&ThreadLocal
    JAVA多线程学习四
    Maven之阿里云镜像仓库配置
    JAVA多线程学习- 三:volatile关键字
    ansible学习(二)- 清单配置详解
    Java多线程学习(二)
  • 原文地址:https://www.cnblogs.com/attilax/p/5384416.html
Copyright © 2020-2023  润新知