Spring Webflow异常 - 动作状态处理程序

时间:2013-01-28 13:30:04

标签: java jsf spring-webflow

我为我的应用程序创建了一个Spring Webflow异常处理程序,并在我的抽象父流程中定义它。 在这个处理程序中,我添加FacesMessages以通用方式显示多个错误。 现在我遇到的问题是我无法处理动作状态中发生的异常。我尝试回到最后一个有效的视图状态或类似的东西(或者可能转到启动状态)。无论如何,我不希望应用程序崩溃或显示空白页面。

@Override
public void handle(FlowExecutionException exception, RequestControlContext context) {
    Object testState = context.getCurrentState();
    if(testState instanceof ActionState){
         //what to do here?
    }
}

我在MyFaces上使用Spring Webflow版本2.3.0.RELEASE和JSF 2.

祝你好运, 帕特里克

1 个答案:

答案 0 :(得分:4)

您可以执行到另一个状态的转换(转换必须存在)。因此,在if语句中,您可以执行以下操作:

TransitionDefinition errorDefinition = context.getMatchingTransition("errorState");
Transition errorTransition = (Transition)errorDefinition;
context.execute(errorTransition);

转换可能是通用错误页面的全局转换。

问候。