Переменные сеанса не привязаны к GXT - PullRequest
2 голосов
/ 07 февраля 2010

У меня странная проблема с сеансом, использующим GXT 2.1 и серверную часть Grails 1.2. Я создаю два FormPanel s, panelA и panelB, которые подчиняются значениям action1 и action2 в Grails соответственно. В action1 я установил жестко заданную переменную сеанса и извлек ее в action2, но она всегда возвращает ноль! Если я вручную перейду к действию1, затем перейдите к действию2 в браузере, и все будет работать именно так, как ожидалось. Я попытался запустить Firefox и Safari в режиме разработки и получить одинаковый результат на обоих. Любые идеи о том, что я должен искать? Некоторые соответствующие фрагменты:

В GXT:

final FormPanel panelA = new FormPanel();
panelA.setVisible(false);
panelA.setAction(action1);
panelA.setMethod(Method.POST);
RootPanel.get().add(panelA);
panelA.submit();

В Граале:

def a1 = {
  session.a1 = "Hello A1"
  println "Set A1 to $session.a1"
  render "Set A1 to $session.a1"
}

def a2 = {
  println "From A2, A1 is set to: $session.a1"
  render "From A2, A1 is set to: $session.a1"
}

1 Ответ

0 голосов
/ 11 февраля 2010

В итоге я использовал комбинацию междоменных постов в форме и JSON-P в качестве решения, это отличный обходной путь, поскольку я могу просто опубликовать форму (с идентификатором транзакции), сохранить любые отзывы / результаты в сеансе, а затемполучить эти данные с помощью вызова JSON-P.

...