JSNI является средством включать необработанный код JavaScript в приложение GWT, записанное в Java. JSNI является веб-эквивалентом кода встроенного ассемблерного кода.
JSNI (Собственный Интерфейс JavaScript) может использоваться, чтобы интегрировать GWT с существующей библиотекой JavaScript или получить доступ к функциональности браузера низкого уровня, не выставленной классом GWT API. JSNI позволяет Вам интегрировать JavaScript непосредственно в исходный код Java Вашего приложения.
Метод JSNI объявляется native
и содержит код JavaScript в специально отформатированном блоке комментария между концом списка параметров и запаздывающей точкой с запятой. Методы JSNI называют точно так же, как любой нормальный метод Java и могут принять параметры, назвать методы на объектах Java и возвращаемые значения стороне Java приложения.
class JavaScriptCalculator { public static native int add(int n, int m) /*-{ return n + m; }-*/; public static void main(String[] args) { System.out.println(JavaScriptCalculator.add(4, 8)); } }
Имена $wnd
и $doc
используются для доступа к браузеру window
и document
объекты от JSNI.
public static native void say(String message) /*-{ $wnd.alert(message); }-*/;