2016-05-11 14 views
1

Ich habe eine einfache Spring WebFlow, die ein paar Staaten hat.Spring WebFlow kann ich den vorherigen Zustand verstehen

Ist es möglich, wenn Sie einen bestimmten Zustand erreichen, um zu wissen, welcher der vorherigen war?

Ich brauche dies, weil ich erkennen möchte, wenn der Benutzer die Seite aktualisieren, so in diesem Fall wird mein früherer Zustand der gleiche wie mein aktueller Zustand sein.

+0

können Sie genauer sein? Sprichst du über Flüsse oder Zustände innerhalb desselben Flusses? – rptmat57

+0

states innerhalb des gleichen Flusses, ich möchte in der Lage zu verstehen, aus welchem ​​Zustand ich komme zum aktuellen – user5783530

Antwort

1

Sie eine Variable wie folgt gesetzt werden könnten:

<var name="comingFrom" class="java.lang.String"/> 

<on-start> 
    <set name="comingFrom" value="''"/> 
<on-start> 

<state id="state1"> 
    <transition on="transition1" to="current"> 
     <set name="comingFrom" value="'state1'"/> 
    </transition> 
</state> 

<state id="current"> 
    /* do what you want in your state with "comingFrom" */ 
    <transition on="transistion2"> 
     <set name="comingFrom" value="'current'"/> 
    </transition> 
</state> 

aber das erfordert, dass Sie diese Variable bei jedem Übergang, der zu Ihrem „aktuellen“ Zustand geht.

[Bearbeiten] Beispiel für Entscheidungszustand:

<decision-state id="decisionState"> 
    <if test="comginFrom != 'current'" then="state1" else="state2"/> 
</decision-state> 
+0

ist es möglich, etwas wie if-Anweisung in "aktuellen" Zustand zu schreiben zu verstehen, was ist der Wert von "comingFrom" Variable und tun spezifische Transaktion je nach Wert der "comingForm" Variable – user5783530

+0

Sie können einen Entscheidungszustand verwenden und haben eine if-Anweisung in ihr – rptmat57

+0

ein Beispiel für den Entscheidungszustand hinzugefügt – rptmat57