2011-07-14 6 views
3

Spring Webflowのバージョン2.2.1を使用して、フローの途中でフローの実行を再開しようとしています。Spring WebFlowでは、どのようにしてフローを再開できますか?

たとえば、4つのステップがある場合、あいうえお。ユーザは、フローを開始することができ(ステップ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> 
関連する問題