Spring Webflow – 决策状态与动作状态
我正在使用Spring WebFlow 2,我想知道决策状态与动作状态的差异。
我正在阅读并且不理解决策状态与动作状态的区别。 我理解视图状态会显示一个输入的jsp,但是决策状态与动作状态的区别是什么?
我为什么要在行动状态下使用决策状态? 为什么我应该在决策状态下使用动作状态?
有人可以对此有所启发
通常, decision-state
专门用于布尔条件。 关于它发生了什么,它更清晰简洁。
例如,
这可以使用像这样的action-state
进行复制:
但是,不同之处在于action-state
不仅仅对booleans进行操作 – 它可以触发String (string value)
, Boolean (yes/no)
, Enum (enum name)
,其他任何结果都被视为success
。
因此,与实际必须决定某事的decision-state
相比, action-state
可以简单地用于执行某些代码。
我希望能搞清楚。
他们非常相似。 您可以将任何决策状态写为操作状态。 决策状态只为条件转换提供了方便,简洁的语法(使用if
元素)。 如果我只需要根据结果评估一个表达式和转换,我使用决策状态。 否则(例如,如果我有多个表达式要评估),我使用一个动作状态。
HTH
你可以使用lambda条件
例如:x = y? “真实结果”:“错误结果”
1.令人困惑的情况
在Webflow中,存在
动作状态>
和:
决策状态>
2.什么时候用?
鉴于
-
旨在用于if-else路由,作为 的替代。 它作为关于计票的二元决策 。 如果可以应用 – 应该使用它。 -
允许处理更复杂的逻辑。 您可以处理exception,您可以执行表达式而不使它们成为条件,并且您可以处理比前者更多的情况。
希望这可以帮助。