2

GXT 2.1 と Grails 1.2 バックエンドを使用しているセッションで奇妙な問題が発生しました。私は 2 つFormPanelpanelAとを作成しています。これらはそれぞれ GrailspanelBに送信されaction1action2Grails に送信されます。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();

Grails では:

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"
}
4

1 に答える 1

0

解決策として、クロス ドメイン フォームの投稿と JSON-P の組み合わせを使用することになりました。これは、フォームを (トランザクション ID と共に) 投稿し、フィードバック/結果をセッションに保存してから、そのデータを取得できるため、優れた回避策です。 JSON-P 呼び出しを使用します。

于 2010-02-11T15:53:30.903 に答える