簡體   English   中英

gwt / jsni-將外部JS中的String傳遞給Java

[英]gwt/jsni- Pass a String from external JS to Java

如何使用JSNI從外部JS調用?

例如:

//Some external JS code 
         ...
        this.onFeatureClick = function(event) {
        ...
        var name = "Batman";
        passToJava(name); //Invoke java method and pass String name
        };

我試過這個:

 public void onModuleLoad() {
     ...
     nativeVariableName(); //Call native method
 }

 public static void passToJava(String name) {
    System.out.println(name);
 }

public native String nativeVariableName() /*-{
            $wnd.passToJava = function(name) {
            @com.google.myproject.webinterface.client.MyWebInterface::passToJava(Ljava/lang/String;)(name);
            }; }-*/;

我甚至不知道JavaScript的調用是否有效。 謝謝。

這段代碼工作得很好。 我不知道你希望在哪里看到調用System.out.println的結果,但看起來你正在尋找錯誤的地方。 用Window.alert替換System.out.println並親自查看。 如果它不起作用,則意味着錯誤在其他地方:

  • 檢查函數是否正確公開(在瀏覽器中打開控制台,然后鍵入window.passToJava,如果它顯示為null,則表示函數未公開)
  • 檢查是否正確調用了onFeatureClick。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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