Webflow 2.0问题

时间:2009-08-03 14:08:57

标签: java spring-webflow

我有一个可以返回多个事件的视图状态。对于他们中的大多数人来说,我想要“评估”一种常见的jave方法。我想做一些与众不同的事情很少。但是,每个事件都将转换到不同的状态。我的网络流程代码现在重复多次评估方法,每次适用的转换一次。当然,如果我想总是评估该方法,我可以在出口处调用它,但由于我不想在所有情况下都这样做,我在转换调用中不得不重复它。还有其他办法吗?

2 个答案:

答案 0 :(得分:0)

这听起来像是一种情况,您可以考虑将当前在流XML本身中编码的一些逻辑移动到对Action POJO的调用中。也许是对on-exit上的Action的单个调用,传入流请求上下文并让Action方法本身(从请求参数中)确定是否应该调用您的常用Java方法。

这样的事情:

<view-state id="home" view="home">
  <transition on="foo" to="fooView" />
  <transition on="bar" to="barView" />
  ...
  <on-exit>
    <evaluate expression="fooAction.invokeIfNecessary(flowRequestContext)" />
  </on-exit>
</view-state>

答案 1 :(得分:0)

转换到决策状态评估那里,而不是使用currentEvent.id转换到原始目标smt,如:     <decision-state id="decision"> <on-entry> <evaluate ... </on-entry> <if test="currentEvent.id=='goruntule'" then="goruntule"/> <if test="currentEvent.id=='guncelle'" then="guncelle"/> <if test="currentEvent.id=='sil'" then="sil"/> </decision-state>