用Spring Web Flow和Terracotta搭建Web应用
定义页面流转
剩余的逻辑在我们已经注册的flowRegistry bean的流转定义中。(参照前面的'配置flow executor和flow registry beans章节)。
在深入流转实现细节前,我们先看一下页面流转的状态图(如下图)。
从上面我们可以看到流转在结束前经过了几个步骤,在决定销售是否需要送货时有一个决策状态。
一个很好的针对上面导航规则的初始流转定义实现如下:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/webflow
http://www.springframework.org/schema/webflow/spring-webflow-1.0.xsd">
我们从上面的定义可以看到,实际状态与状态图中的状态对应,状态转换与图中的箭头对应。"sale" bean是流转开始时分配的流转变量实例。它持有了Sale相关的属性。
上面的定义展示了所有的导航逻辑,但还没有实现任何应用行为。特别是在用户提交时更新Sale Bean的逻辑还没有实现。另外后台的sale处理逻辑还没有定义。
实现了所有必需行为的完整Spring Web Flow定义如下:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=" http://www.springframework.org/schema/webflow
http://www.springframework.org/schema/webflow/spring-webflow-1.0.xsd"
在定义导航逻辑之外,也定义了适时调用恰当应用行为的action。这包括处理用户提交事件和调用后台处理器来处理sale的逻辑。
Form绑定和验证
当进入展示表单的视图状态时,流转调用一个FormAction command bean来进行表单的装配和提交逻辑。在提交时,FormAction把用户的请求参数绑定到相应的sale属性上并同时验证它们。
更多信息
Spring Web Flow全部的代码、文档和10个示例应用(包括sellitem)都可以在Spring网站上找到http://www.springframework.org/webflow。
集群Sellitem应用


















文章评论
共有 位CH网友发表了评论 查看完整内容