2017-07-27 2 views
0

J'ai une application Web où un utilisateur peut lancer une recherche à partir de presque toutes les pages de l'application.JSF Flow. Mettre fin au flux de courant et en commencer un nouveau

Chaque fois qu'un utilisateur recherche Je voudrais commencer un nouveau flux, donc en gros j'ai:

<p:commandLink action="#{myBean.startNewSearch}" .../> 

public void startNewSearch(){ 
    //Some validations and pre-conditions 
    Faces.navigate("exitSearchFlow"); 
    //Perform search 
    return "startSearchFlow"; 
} 

Je peux voir avec les enregistreurs que le flux est démarré et le flux est terminé, mais jfwid ne change jamais (J'utilise faces-redirect = true, le paramètre de formulaire ne change pas non plus).

Comment puis-je faire cela?

Répondre

0

Vous devez définir les sous-flux dans votre flux principal. Définir un flux pour la recherche, et à l'intérieur de votre flux de recherche définir les autres flux, en utilisant l'appel de flux. ex:

Vous pouvez transmettre des paramètres au sous-flux. Pour appeler les flux secondaires, utilisez l'identifiant de l'appel de flux. Ex:

<h:commandButton value="Call Flow A" action="subFlowA"/> 

Vous trouverez plus de détails dans le lien suivant:

JSF Flows