【问题标题】:Spring webflow, transist only if statement is trueSpring webflow,仅当语句为真时才传输
【发布时间】:2018-07-03 22:33:25
【问题描述】:

我希望我的流程只有在某些陈述为真时才能传输,否则它应该保持在同一页面(处于同一视图状态)。我的问题是,如果我使用没有 else 子句的决策状态,我将保持在该决策状态,所以如果我再次使用先前的操作,它将不会被识别。我可以使用重定向到以前的视图状态,但这会使我的视图重新加载。

一些例子:

<view-state id="myState" view=someView.xhtml">
  <transition on="myAction" to="decision"/>
</view-state>

<decision-state id="myDecision">
  <if test="controller.isOk()" then="nextPage"/>
</decision-state>
  1. 在 myState 中我执行 myAction
  2. myDecision 调用“controller.isOk()”
  3. 结果是假的,所以我没有被重定向到任何地方
  4. 我再次执行 myAction,但“myAction”没有过渡

我也尝试了动作状态,但我不想为“否”情况定义转换,它会产生错误。

【问题讨论】:

  • 这个问题和JSF有关吗?

标签: java jsf spring-webflow


【解决方案1】:

您可以put calls inside &lt;evaluate&gt; inside a &lt;transition&gt;, and if the call doesn't return "success", which is "success", "yes", or "true", the flow will remain on the same state

所以试试这个:

<view-state id="myState" view="someView.xhtml">
    <transition on="myAction" to="nextPage>
        <evaluate expression="controller.isOk()"/>
    </transition>
</view-state>

【讨论】:

    猜你喜欢
    • 2014-11-15
    • 1970-01-01
    • 1970-01-01
    • 2020-10-06
    • 2016-09-17
    • 2014-07-31
    • 1970-01-01
    • 2015-02-18
    • 2015-01-17
    相关资源
    最近更新 更多