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

时间:2022-06-19 06:25:05

Atitit。Js调用后台语言 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中直接使用Java类2

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中融合Java与JavaScript之力.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中融合Java与JavaScript之力.htm