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

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

上一篇:jsp页面:js方法里嵌套java代码(是操作数据库的),如果这个js 方法没被调用,当jsp页面被解析的时候,不管这个js方法有没有被调用这段java代码都会被执行?


下一篇:[转]Java学习---7大经典的排序算法总结实现