Spring Webflow:如何更改子流中转换的目标

时间:2013-10-07 10:39:34

标签: java spring spring-webflow

我正在使用Spring Webflow 2,我有以下父流程:

<flow ...>
  ...
  <view-state id="show-task">
    <transition on="approve" to="search">
      <!-- lots of things -->
    </transition>
    <!-- several other transitions and other instructions -->
  </view-state>
</flow>

我有一个子流,在其中,我想在不修改父流的情况下将您在上面看到的"search"替换为"execute"(除非是为了使其更通用)。必须仍然执行“很多事情”而不将其复制/粘贴到子流程中。

怎么做?

谢谢!

1 个答案:

答案 0 :(得分:2)

我认为你不能这样做。

我看到了几个选项:

  • 您将父流更改为具有布尔输入,您在决策状态中检查此输入的值以决定是否需要转到“搜索”(在这种情况下包括空值,因此您不要由于您的批准转换,我必须更改您孩子的代码)或“执行”。

  • 更改逻辑,以便父级在“批准”时进入结束状态,并在需要时使用输出,以便子级可以在此结束状态转换并执行必须执行的操作。

  • 您在子流中创建了一个新的转换,并使用不同的“to”状态复制其中的“很多东西”。

我更喜欢#1,我觉得这是要走的路。父母应该知道其过渡的不同可能结果。或者#2父母需要完成,以便孩子决定还需要做什么。