java - 用于操作状态的 Spring Webflow 异常处理程序

标签 java jsf spring-webflow

我为我的应用程序创建了一个 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/

相关文章:

java - 如何重构 hibernate 实体?

java - Jtable与mysql连接时出错 "java.lang.NullPointerException"

java - 如何在运行时从 JSF Controller 访问位于 "src/main/resources"文件夹中的 css 文件

html - 如何使用 jsf 渲染属性禁用嵌套的标题 html 元素

mac 10.8 上的 Java EE 6 SDK 安装问题

java - 如何在内存数据库中使用高效的java来模拟Oracle数据库

java - 登录时显示用户电子邮件 (JSF 2.0)

grails - 使用 webflow 和 grails 创建动态表

java - Spring 网络流程 : Call bean's method as target action

java - SpringFramework 3.0 的 Spring Web Flow 配置还是替代方案?