Le variabili di sessione non attaccare con GXT
Domanda
Sto incontrando uno strano problema con la sessione utilizzando GXT 2.1 e un 1.2 Grails backend. Sto creando due FormPanel
s, panelA
e panelB
, che presentano al action1
e action2
in Grails, rispettivamente. In action1 ho impostato una variabile di sessione hardcoded e recuperare in azione2, ma sta tornando sempre nullo! Se vado manualmente per poi seguire Action1 andando a Azione2 in un browser che funziona esattamente come previsto. Ho provato a fare funzionare sia su Firefox e Safari in modalità di sviluppo e ottenere lo stesso risultato su entrambi. Tutte le idee su che cosa dovrei cercare? Alcuni frammenti rilevanti:
In GXT:
final FormPanel panelA = new FormPanel();
panelA.setVisible(false);
panelA.setAction(action1);
panelA.setMethod(Method.POST);
RootPanel.get().add(panelA);
panelA.submit();
In 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"
}
Soluzione
Ho finito per usare una combinazione di croce messaggi forma di dominio e JSON-P come una soluzione, è una grande soluzione che posso semplicemente inviare il modulo (con un ID di transazione), memorizzare tutte le risposte / risultati nella sessione, poi recuperare i dati utilizzando una chiamata JSON-P.