[英]Send Java object from JavaScript to Applet
如何将 Java 对象从 JavaScript 发送到 Java? LiveConnect 允许我们通过调用小程序方法来获取 Java 对象。 即我们可以在小程序中有以下方法:
public MyClass getMyClass() { return new MyClass(); }`
MyClass
在哪里:
public class MyClass implements Serializable {
private String a;
private String b; //getters, setters
}
并在 JS 中使用以下方法访问此对象:
applet.getMyClass().someMethod();
但是如何将对象从 JavaScript(我认为是 json 对象)传递给 java 方法(而不是 json 字符串)? 即我想要这样的小程序方法:
public void myMethod(MyClass var)
并从 JavaScript 调用此方法传递MyClass
类型的参数。 如何在 JS 中构建MyClass
对象? 我希望 LiveConnect 能够自动从 JSON 转换为 Java 对象。
我相信这应该让你对如何去做这件事有一个好主意。
import netscape.javascript.*;
public class MyClass implements Serializable {
public String a;
public String b;
public JavaDog(JSObject o) {
this.a= (String)o.getMember("a");
this.b = (String)o.getMember("b");
}
}
然后使用new Packages.MyClass(yourJavaScriptObject)
创建要传递给 Java 的对象。
更多信息在这里:
https://developer.mozilla.org/en-US/docs/JavaScript/Guide/LiveConnect_Overview
Java LiveConnect文档说:
当先前返回给 JavaScript 引擎的 Java 对象被传递回 Java 时,只需检查该对象与目标类型的赋值兼容性。 此规则的唯一例外是自动转换为java.lang.String
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.