我有一个可以返回多个事件的视图状态。对于它们中的大多数,我想要“评估”一种常见的jave方法。有几个地方我想做一些不同的事情。但是,每个事件都将转换到不同的状态。我的web流代码现在多次重复该方法的评估,每次适用的转换都重复一次。当然,如果我想总是计算这个方法,我可以在退出时调用它,但因为我不想在所有情况下都这样做,所以我不得不在转换调用中重复它。有没有其他方法可以做到这一点?
弗兰克
发布于 2009-08-14 14:37:45
这听起来像是您可能会考虑将当前编码在流XML本身中的一些逻辑转移到对Action POJO的调用中。也许只需在退出时调用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>发布于 2009-12-29 22:16:53
转换到决策状态评估,然后使用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>
https://stackoverflow.com/questions/1222567
复制相似问题