我为我的应用程序创建了一个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.
祝你好运, 帕特里克
答案 0 :(得分:4)
您可以执行到另一个状态的转换(转换必须存在)。因此,在if语句中,您可以执行以下操作:
TransitionDefinition errorDefinition = context.getMatchingTransition("errorState");
Transition errorTransition = (Transition)errorDefinition;
context.execute(errorTransition);
转换可能是通用错误页面的全局转换。
问候。