GWTのJSNIシグネチャ
外部のJavaScriptライブラリと絡めるとなんだかんだと結構ややこやしいですね。
一番はこんな感じでブリッジクラス、ブリッジメソッドを作ってやり取りさせるのがよさそうです。
例えば
public class Bridge{
public static native void setup() /*-{
$wnd.mono.load = @net.mono_koubou.app.client.manager.MonoViewerManager::load();
$wnd.mono.save = @net.mono_koubou.app.client.manager.MonoViewerManager::save();
}-*/;
public static native void setVisible(boolean view) /*-{
$wnd.mono.setVisible(view);
}-*/;
}
こんな感じのクラスを作ってEntiryPointで
Bridge.setup();
を呼びます。
こうしておけば外部のJavaScript上から
mono.load();
でメソッドが呼べます。
また、GWT側からは
Bridge.setVisible(boolean);
で外部メソッドが呼べます。
後、シグネチャ間違いがちなのでこちらに載せておきます。
booleanはJSNI上では”Z”
intは”I”
Stringは”Ljava/lang/String;”
です。
Posted in GWT |
