如果在spring webflow定义中的action-state内不存在匹配转换会发生什么?

时间:2014-03-28 14:53:48

标签: java spring spring-mvc spring-webflow

我正在使用spring的java web应用程序(我从spring webflow开始)。 我正在分析另一个开发人员制作的源代码,我看到这样的事情:

FILE flow.xml

...
<action-state id="state1">
    <evaluate expression="Utilities.getSomeResult()"></evaluate>
    <transition on="RESULT1" to="doSomething1" />
    <transition on="RESULT2" to="doSomething2" />
</action-state>
...

CLASS Utilities.java

...
public String getSomeResult() {
  switch(option) {
    case 1:
      return "RESULT1";
    case 2:
      return "RESULT2";
    case 3:
      return "RESULT3";
  }
}
...

如果选项== 3会怎样?抛出一些春天异常?必须定义一些全球过渡才能抓住它吗?解决这个问题的最佳方法是什么?

提前谢谢

1 个答案:

答案 0 :(得分:0)

是的,你在行中得到一个例外:

   org.springframework.webflow.engine.NoMatchingTransitionException: No transition    was   found on occurence of event "RESULT3" in state "state1".....likely programmer error...

由于程序员错误,因此理想的是在相应的缺失状态中定义缺失的转换,例如,在您的情况下:在动作状态“state1”中。此外,如果在所有州共享相同的转换,全局转换将非常有用。