我为我的应用程序创建了一个 Spring Webflow 异常处理程序,并将其定义在我的抽象父流中。 在此处理程序中,我添加 FacesMessages 以通用方式显示多个错误。 现在我遇到的问题是我无法处理操作状态中发生的异常。我尝试返回到最后一个有效的 View 状态或类似的状态(或者可能返回到开始状态)。无论如何,我不希望应用程序崩溃或显示空白页面。
@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。
最诚挚的问候, 帕特里克
最佳答案
您可以执行到另一个状态的转换(转换必须存在)。因此,在 if 语句中您可以执行以下操作:
TransitionDefinition errorDefinition = context.getMatchingTransition("errorState");
Transition errorTransition = (Transition)errorDefinition;
context.execute(errorTransition);
转换可以是到通用错误页面的全局转换。
问候。
关于java - 用于操作状态的 Spring Webflow 异常处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14563130/