Да, вы можете сделать это. Вот способ вызвать его из Javascript ( Source ):
Как я могу вызвать один из моих методов GWT Java со страницы хоста моего приложения?
Для этого вам нужно
сначала нужно создать метод JSNI
который создает метод JavaScript, который
в свою очередь делает вызов к вашей Java
метод. В вашем приложении GWT
onModuleLoad (), вы бы назвали это
Метод JSNI, чтобы JavaScript
Метод определен. От твоего
Страница хоста приложения вы бы тогда
вызовите созданный метод JavaScript.
Смущен еще? Это на самом деле довольно
простой.
Фрагмент кода ниже показывает
пример этого (любезно предоставлено Робертом
Hanson):
private native void initPlaylistJS (PlaylistTable pl) /*-{
$wnd.addClipToPlaylist = function (clipId, clipTitle) {
pl.@com.foo.bar.client.PlaylistTable::addClip(Ljava/lang/String;Ljava/lang/String;)(clipId, clipTitle);
};
}-*/;
В этом примере вам необходимо
сделать вызов initPlaylistJS (pl) в
onModuleLoad вашего модуля GWT (). однажды
Ваше приложение GWT загружается,
Метод JavaScript определен и
вызываемый снаружи GWT
применение.
Что касается «багажа», GWT компилирует один монолитный файл, поэтому вам не нужно ничего включать.
Еще одна вещь, на которую следует обратить внимание, это то, что по моему опыту GWT не идеально подходит для совместного использования кода между сервером и клиентом, поскольку серверная часть должна стать GWT-совместимой, то есть включать только классы, которые являются частью эмулируется JRE или для которого у вас есть источник, доступный для компиляции.