JSNI - это средство для включения необработанного кода JavaScript в приложение GWT, написанное на Java. JSNI - это веб-эквивалент встроенного ассемблерного кода.

JSNI (собственный интерфейс JavaScript) можно использовать для интеграции GWT с существующей библиотекой JavaScript или для доступа к низкоуровневым функциям браузера, не предоставляемым API класса GWT. 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); }-*/;