Как использовать потоки JSF с помощью FlowHandler

Привет я хотел бы пройти через этапы в бэк поддержки с помощью метода:

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");
    }

}

Это возможно сделать в бобе? или meaby это другой способ сделать это?

1 ответ

FlowHandler - это абстрактный класс, предназначенный для внутреннего использования инфраструктуры JSF. Если вы хотите перейти к тому или иному узлу входа потока JSF, просто верните имя целевого узла для навигации (разрешен только HTTP POST). Или вы можете войти в поток через узел вызова метода или узел коммутатора и реализовать там необходимые условия навигации.

Вы можете прочитать этот пост и загрузить пример проекта с GitHub. Он проиллюстрирует вас на некоторых методах, связанных с потоками JSF.

Другие вопросы по тегам