簡體   English   中英

將 Java 對象從 JavaScript 發送到 Applet

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM