2016-05-11 21 views
1

我有一個簡單的Spring WebFlow,它有幾個狀態。Spring WebFlow能理解以前的狀態

當你達到某個特定狀態時,有可能知道哪一個是前一個?

我需要這個,因爲我想檢測用戶什麼時候刷新頁面,所以在這種情況下,我以前的狀態將與我當前的狀態相同。

+0

你可以更精確?你是在談論流程,還是在同一流程中的狀態? – rptmat57

+0

狀態在同一個流程中,我想能夠理解我從哪個狀態到目前的狀態 – user5783530

回答

1

您可以設置這樣的變量:

<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> 

但是這需要你設置這個變量對每一個去你的「當前」狀態轉變。

決策狀態的[編輯]實施例:

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

是否有可能在「當前」狀態中寫入類似if語句的內容以便能夠理解「comingFrom」的值是多少?變量並根據「comingForm」變量的值進行具體的事務 – user5783530

+0

您可以使用決策狀態並且在其中有一條if語句 – rptmat57

+0

添加了一個決策狀態示例 – rptmat57