如何使用jsf流使用flowwhandler



嗨,我将使用一个方法来遍历后台bean中的流程步骤:

transition(FacesContext context, Flow sourceFlow, Flow targetFlow, FlowCallNode outboundCallNode, String toViewId);

javax.faces.flow.FlowHandler 

或其他方式

例如:

public void startFlow(){
    // in this example we dont use jsf tags 
    // (<h:commandButton /> and <h:commandLink />) to navigate user through flow steps
    FlowHandler handler = context.getApplication().getFlowHandler();
    Flow targetFlow = handler.getFlow(context, "", "registerFlow");
    boolean isAdmin = checkIfAdmin();
    if(isAdmin){
      // here we forward user to viewNode of flow that name step1
      handler.transition(context, null, targetFlow, null, "step1");
    }
    else{
      // here we forward user to viewNode of flow that name step1ForAdmin
      handler.transition(context, null, targetFlow, null, "step1ForAdmin");
    }
}

在backing bean中有可能这样做吗?或者还有什么别的方法?

FlowHandler是一个抽象类,用于JSF框架的内部使用。如果您想导航到JSF流的一个或另一个入口节点,只需返回目标节点的名称进行导航(只允许HTTP POST)。或者您可以通过方法调用节点或交换节点进入流程,并在那里实现所需的导航条件。

你可以阅读这篇文章并从GitHub下载样例项目。它将向您展示一些与JSF流相关的技术。

相关内容

  • 没有找到相关文章

最新更新