如何将 Java 对象从 JavaScript 发送到 Java? LiveConnect 允许我们通过调用 applet 方法来获取 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 - 将 Java 对象从 JavaScript 发送到 Applet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13644172/