2009-12-03 20 views
6

Ich habe eine Java-Webanwendung, die Spring Webflow als Framework verwendet. Ich habe ein Problem mit der Verarbeitung von Daten in einem einfachen XML-Ablauf. Wenn die Verarbeitung komplizierter wird, finde ich es schwierig, sie unter Verwendung des Ablauf-XML des Web-Flusses zu implementieren. Ich überlegte, ob ich Controller verwenden sollte, um diese Operationen auszuführen. Wie mache ich das. Keine Ahnung, Controller im Web-Flow zu verwenden. Und von Controllern kann ich auch zum Flow XML springen, um mit der Verarbeitung fortzufahren?Spring Webflow Best Practice

Ein Beispiel für mein Problem ist das Einreichen von Formularen. Hier ist das Szenario. Ich habe eine Tabelle für Benutzer und eine Tabelle mit Berechtigungen. Ich habe auch eine Benutzerklasse, die den Tablebec darstellt, den ich hier Hibernate verwendete. Auf meiner Registrierungsseite habe ich die Felder Benutzername, Passwort und Berechtigung (kein Feld der Benutzerklasse). Ich binde dieses Formular an mein Benutzerobjekt mit Feder-Webflow-Bindung. Mein Problem ist, dass ich das Feld "Autorität" nicht binden kann, weil es in meiner Benutzerklasse nicht existiert. Muss ich eine Bean erstellen, die mein Formular darstellt? Ich muss den Benutzernamen und das Passwort für die Tabelle "Benutzer" und die Berechtigung in einer anderen Tabelle hinzufügen. Wo mache ich die Initialisierungen für mein User-Objekt und das Authority-Objekt oder wo setze ich die Werte von registerFormBean auf meine POJOs? Ich denke, es ist nicht ein guter Ansatz ist, oder es wird mein Flow xml

Antwort

4

kompliziert machen Sie können dies implementieren, indem JSF als Präsentation + Webflow + mvc als Controller

zuerst werden Sie Backing Bean mit Benutzername, Passwort erstellen, Behörde dann lassen Webflow die Backing Bean auf Sitzung dann zu schaffen, wenn die Aktion einreichen @controller „Spring MVC“ und Controller rufen Sie Ihr Unternehmen und Business Call DAO nennen, die Sie als Hibernate

wie dies umgesetzt <on-start> <evaluate expression="youractionClass.createbackingBean()" result="conversationScope.yourbean" /> </on-start>

zweite Lösung Sie die Ansicht Modell binden können, die Benutzernamen enthält, Passwort, Autorität dann, wenn die Aktion einreichen rufen @controller „Spring MVC“ und Controller wird Ihr Unternehmen und Business Call DAO nennen die Sie implementiert es als Hibernate

<view-state id="registerForm" model="registerBean"