zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

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

2023-09-14 09:03:31 时间

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://blog.csdn.net/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