2

JavaScript から Java に 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 から type のパラメータを渡してこのメ​​ソッドを呼び出しますMyClassMyClassJSでオブジェクトを構築するには? LiveConnect が JSON から Java オブジェクトへの変換を自動的に行うことを願っています..

4

2 に答える 2

2

これにより、これをどのように行うかについての良いアイデアが得られると思います。

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

于 2012-12-02T09:23:08.707 に答える
0

Java LiveConnectのドキュメントには次のように書かれています。

以前に JavaScript エンジンに返された Java オブジェクトが Java に返されると、オブジェクトは、ターゲットの型との割り当ての互換性について単純にチェックされます。このルールの唯一の例外は、 への自動変換java.lang.Stringです。

于 2012-11-30T12:06:05.493 に答える