我正在使用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会怎样?抛出一些春天异常?必须定义一些全球过渡才能抓住它吗?解决这个问题的最佳方法是什么?
提前谢谢
答案 0 :(得分:0)
是的,你在行中得到一个例外:
org.springframework.webflow.engine.NoMatchingTransitionException: No transition was found on occurence of event "RESULT3" in state "state1".....likely programmer error...
由于程序员错误,因此理想的是在相应的缺失状态中定义缺失的转换,例如,在您的情况下:在动作状态“state1”中。此外,如果在所有州共享相同的转换,全局转换将非常有用。