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); }-*/;