Как я могу получить данные из шаблона Freemarker в код GWT? - PullRequest
0 голосов
/ 04 октября 2010

У меня есть настройка веб-приложения, которая использует Stripes и Freemarker; частично я также кодирую некоторые вещи GWT и пытаюсь найти лучший способ получения информации из actionBean в код GWT. В настоящее время я делаю это в шаблоне:

<script>
  var params = {
    nick : "${actionBean.nick}",
    logout: "${actionBean.logout}"
  }
</script>

И затем я делаю Dictionary.getDictionary("params") при входе в модуль GWT. Это работает нормально, но я чувствую, что могу сделать лучше. Предложения?

1 Ответ

0 голосов
/ 04 октября 2010

GWT-политика «скомпилировать все в кучу статических .js» не позволяет изменять сам js. Это позволяет - используя технику строгого имени - кэшировать весь код GWT в браузере.

Таким образом, если какие-либо динамические данные должны попасть внутрь виджета GWT, они должны поступать извне. И ваш виджет должен пойти на это. Поэтому объявление этого словаря кажется правильным способом (я делал это на своей работе).

Опция будет генерировать дружественный к JavaScript виджет GWT с gwt-exporter (я имею в виду класс Javascript с читаемыми именами для класса и методов) Тогда ваш javascript может сам ввести значения, делая виджет GWT неосведомленным о его контексте. Что-то вроде:

var x = new MyExportedWidget();
x.addTo(somePanel);
x.setProperty(value);

Но это кажется излишним ...

...