JSF Flow。结束当前流程并开始新的流程
问题描述:
我有一个Web应用程序,用户可以从应用程序的几乎所有页面开始搜索。JSF Flow。结束当前流程并开始新的流程
用户每次搜索我想开始一个新的流程,所以基本上我有:
<p:commandLink action="#{myBean.startNewSearch}" .../>
public void startNewSearch(){
//Some validations and pre-conditions
Faces.navigate("exitSearchFlow");
//Perform search
return "startSearchFlow";
}
我可以与该流程启动和流程完成,但jfwid永远不会改变的记录器看(我正在使用faces-redirect = true,表单参数也不会改变)。
我该怎么做?
答
您必须在主流程内定义子流程。 定义搜索流程,并在您的搜索流程中使用流程调用定义其他流程。例如:
<flow-definition id="searchFlow">
<flow-call id="subFlowA">
<flow-reference>
<flow-id>subFlowA-File-ID</flow-id>
</flow-reference>
</flow-call>
<flow-call id="subFlowB">
</flow-call>
</flow-definition>
您可以将参数传递给子流。要调用子流,请使用Flow-Call的Id。例如:
<h:commandButton value="Call Flow A" action="subFlowA"/>
您可以在下面的链接的详细信息: