2009-08-05 8 views
0

Das Formular ist in einer Komponente als popUp lauched, besteht Formulardaten in:Senden Sie Formulardaten an HTTPService: wie geht man in Cairngorm vor?

login:String 
password:String 

Ich dachte an ein paar verschiedene Möglichkeiten, aber ich sie nicht .. mag

  • in der popUp, Sendetaste löst eine Funktion aus, die die Formularwerte abruft und in einem Objekt speichert, dann das Objekt im Modell speichert und dann ein CreateSessionEvent absetzt. Die CreateSessionCommand-Methode execute wird aufgerufen und sendet das HTTPService, das das Objekt aus dem Modell übergibt. (aber was ist, wenn das model irgendwie kein update bekommt und ich die selbe anforderung zweimal sende?)
  • ich könnte versuchen, die form daten vom command execute-methode selbst zu bekommen .. wie kann ich aber darauf zugreifen, da es ein popup-Fenster (erstellt mit PopUpManager.createPopUp(this, LoginDialog),true)) ist

ich eine bessere Idee brauche ... ich würde gerne ein Beispiel flex + Schiene mit erholsamer xML-Anwendung durch die Art und Weise, zu wissen, dass, um zu sehen?

Antwort

3

Das Beste ist, die Anmeldeinformationen in der CreateSessionEvent-Klasse zu behalten. Sie können das Ereignis dann versenden, der Controller wird es abholen und den entsprechenden Befehl ausführen. In Ihrem Befehl sollten Sie einen Geschäftsdelegaten aufrufen, der den httpservice-Aufruf ausführt und auf den Befehl antwortet. Wenn Sie die Serverkommunikation beispielsweise in Remoting ändern, können Sie einen anderen Geschäftsdelegaten erstellen, der weiß, wie Remoteobjektaufrufe gehandhabt werden.