簡體   English   中英

從gwt返回值到javascript-jsni

[英]Returning value from gwt to javascript-jsni

我正在嘗試通過JSNI將GWT中的Java函數的值返回到javascript

    static public int call() { return 20; }

    public static native int jstest() /*-{
        try{
            val=@com.xxxx.package::call()();
            window.alert("Val:"+val);
            return $wnd.val;
        } catch(e) {
            console.error(e.message);
        }
    }-*/;

並在javascript alert(document.val); ,我最終遇到異常JSNI方法返回了一個不同於int的東西 我想我搞砸了向javascript返回值。 請讓我知道我哪里出錯了!

通過將val聲明為全局val,它確實在窗口對象上分配(注意:不是$ wnd對象)。 有時對於GWT,這兩個是相同的,有時卻不相同(這取決於您使用的鏈接器)。

這就是為什么您需要更改代碼以讀取的原因

$wnd.val = @com.xxxx.package::call()();

或使用以下命令刪除全局變量:

var val = @com.xxxx.package::call()();
return val;

暫無
暫無

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

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