0

こんにちは、メソッドを使用してバッキング 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");
    }

}

バッキングビーンでそれを行うことは可能ですか? または meby はそれを行う他の方法ですか?

4

1 に答える 1

0

FlowHandler は、JSF フレームワークの内部使用を目的とした抽象クラスです。JSF フローの 1 つまたは別のエントリ ノードに移動する場合は、移動先のノードの名前を返すだけです (HTTP POST のみが許可されます)。または、メソッド呼び出しノードまたはスイッチ ノードを介してフローに入り、そこで必要なナビゲーション条件を実装することもできます。

この投稿を読んで、サンプル プロジェクトを GitHub からダウンロードできます。JSF フローに関連するいくつかの手法について説明します。

于 2015-09-23T10:10:30.513 に答える