2011-07-14 46 views
3

使用Spring Webflow的2.2.1版,我試圖在流的中間恢復流執行。在Spring WebFlow中,如何恢復流?

例如,如果我有4個步驟; A B C D。用戶可以啓動流程(步驟A)並且在某些步驟(步驟C)之後,他會分心並放棄該頁面。當用戶返回流程時,我希望流程從用戶離開的地方開始恢復執行(步驟C)。我將如何實現這一目標?

回答

0

這將自動發生,假設用戶的會話沒有超時。 SWF默認在HTTP會話中存儲流狀態。你應該能夠離開你的流程(通過輸入不同的URL),然後回到它(使用後退按鈕或直接輸入URL,只要你包含正確的流程執行鍵) 。

+0

是的,我知道。如果我使用執行鍵擁有正確的URL,則可以在上一步繼續流程。 我所試圖做的是開始流不給執行鍵,並有流動確定是否去如果發現執行鍵哪一步......我想我唯一的辦法是存儲執行鍵追加到URL。 – Pran

+0

好的,我明白了。我不明白你的問題,這是你的意思。我們按照您的描述進行操作:存儲執行鍵,並重定向到流程執行。 – David

1

對於那些我到底是怎麼做這種奇怪的。我將FlowUrlHandler映射到我的實現並覆蓋createFlowExecutionUrl(String flowId, String flowExecutionKey, HttpServletRequest request)方法。

<bean class="org.springframework.webflow.mvc.servlet.FlowHandlerAdapter"> 
    <property name="flowExecutor" ref="flowExecutor" /> 
    <property name="flowUrlHandler"> 
     <bean class="path.to.my.implementation"/> 
    </property> 
    </bean> 
相關問題