在 ADF 中以编程方式重定向到同一任务流的另一个视图

Redirect to another view on the same taskflow programatically on ADF

我有一个任务流并有两个视图,如下图所示:

我有一个去那里的按钮,但我不需要点击按钮。我需要通过调用操作以编程方式重定向到另一个视图。

怎么调用呢,因为我是用JSFF做页面的?

如果我用这个方法:

       FacesContext fctx = FacesContext.getCurrentInstance();
   UIViewRoot root = fctx.getViewRoot();
   //client Id of button includes naming container like id of region. 
   RichCommandButton button = 
       (RichCommandButton) root.findComponent("cb1");
   ActionEvent actionEvent = new ActionEvent(button);
   actionEvent.queue();
   }

我收到类似找不到组件的错误。如果我使用页面模板 ID,我也会收到编译器找不到组件的错误。

你有其他方法解决这个问题吗,或者如果我找不到组件你能修复它吗?

对于这种情况,我使用此代码:

public static void navigateTo(String redirect) {
    FacesContext facesContext = FacesContext.getCurrentInstance();
    NavigationHandler nh = facesContext.getApplication().getNavigationHandler();
    nh.handleNavigation(facesContext, null, redirect);
}

其中重定向参数是流程案例规则的名称。

您已使用 "URL view" 并将其重定向到您的路径: