Переменные сеанса, не привязанные к GXT
Вопрос
Я сталкиваюсь со странной проблемой при сеансе с использованием GXT 2.1 и серверной части Grails 1.2.Я создаю два FormPanel
s, panelA
и panelB
, которые подчиняются action1
и action2
в Граалях соответственно.В action1 я устанавливаю жестко закодированную переменную сеанса и извлекаю ее в action2, но она всегда возвращает null!Если я вручную перейду к action1, а затем перейду к action2 в браузере, это будет работать точно так, как ожидалось.Я пробовал работать как в 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"
}
Решение
В итоге я использовал комбинацию записей в междоменной форме и JSON-P в качестве решения, это отличный обходной путь, поскольку я могу просто опубликовать форму (с идентификатором транзакции), сохранить любые отзывы / результаты в сеансе, а затем извлечь эти данные с помощью вызова JSON-P.