2010-02-06 70 views
2

我在使用GXT 2.1和Grails 1.2后端的会话中遇到一个奇怪的问题。我将分别创建两个FormPanel s,panelApanelB,它们分别提交给Grails中的action1action2。在action1中,我设置了一个硬编码的会话变量,并在action2中检索它,但它总是返回null!如果我手动进入action1,然后按照action2在浏览器中的工作,完全按预期工作。我试着在开发模式下运行Firefox和Safari,并在两者上获得相同的结果。任何想法我应该寻找什么?一些相关片段:会话变量不会与GXT保持一致

在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" 
} 
+0

看起来它与我在开发时用来解决跨域问题的proxyservlet有关。任何建议,以获得与我的会议作为客户端的工作将不胜感激。 – 2010-02-07 01:57:42

回答

0

我结束了使用跨域表单提交和JSON-P作为解决方案的组合,这是一个伟大我可以发布表单(使用事务ID),在会话中存储任何反馈/结果,然后使用JSON-P调用检索该数据。