Spring Web Flow

时间:2011-03-20 11:34:13

标签: spring-webflow

我试图了解Spring Web Flow 2 ...

我是否正确地说,网络流程完全通过单个网址运行(但具有不同的执行参数?

EG。
http://mydomain.com/flowname.html
http://mydomain.com/flowname.html?execution=e1s1

我见过的所有例子似乎就是这样。

我说的是,如果您离开流程(通过转到流控制之外的页面),当您返回流程时,实际流程是一个新实例,而早期流程中的内容将丢失?

我正在尝试将Web Flow 2整合到现有的电子商务网站中并遇到问题......

1 个答案:

答案 0 :(得分:3)

流程映射到URL。当您第一次访问此URL时,将创建新的流程执行并分配新密钥:

http://www.mydomain.com/flow

创建流程执行后,Webflow会为其分配流程执行密钥。这是您看到的执行参数:

http://www.mydomain.com/flow?execution=e1s1

回答有关返回流程的问题:如果使用不带执行密钥的URL返回,则会获得新的流程执行。但是,如果包含执行密钥,您将进入密钥中编码的状态和流执行。 e1表示流程执行,s1表示状态。请注意,根据流的设置方式,您可能会或可能无法通过在执行键上指定它来返回某些状态。

另请注意,默认情况下,流执行快照存储在HttpSession中。如果此会话超时,您将无法返回该流程。