У меня есть приложение Google Web Toolkit (GWT), и когда я ссылаюсь на него, я хочу передать некоторые аргументы / параметры, которые он может использовать для динамического извлечения данных. Например. если бы это было приложение с биржевой диаграммой, я бы хотел, чтобы моя ссылка содержала этот символ, а затем приложение GWT прочитало бы его и сделало запрос в какую-нибудь биржевую службу. Например. http://myapp/gwt/StockChart?symbol=GOOG будет ссылкой на мое приложение StockChart GWT, и оно будет делать запрос к моему веб-сервису информации о запасах для акции GOOG.
До сих пор я использовал серверный код для добавления переменных Javascript на страницу, а затем я прочитал эти переменные, используя JSNI (собственный интерфейс JavaScript).
Например:
В хосте HTML:
<script type="text/javascript">
var stockSymbol = '<%= request.getParameter("symbol") %>';
</script>
В коде GWT:
public static native String getSymbol() /*-{
return $wnd.stockSymbol;
}-*/;
(Хотя этот код основан на реальном работающем коде, я изменил его для этого вопроса, так что я мог бы где-то дурачиться)
Однако, это не всегда хорошо работает в размещенном режиме (особенно с массивами), и, поскольку JSNI не было в версии 1.4 и предыдущих, я предполагаю, что есть другой / лучший способ.