Вы можете передать параметры через форму и получить их в методе инициализации, вызванном при инициализации вашего потока.
Form (просто замените параметр inputHidden с любыми вы используете, чтобы выбрать опросник)
<h:form id="myForm" prependId="false">
<h:commandLink value="Enter myFlow" action="my-flow"/>
<h:inputHidden id="parameter" name="parameter" value="8"/>
</h:form>
Flow
@Produces @FlowDefinition
public Flow defineFlow(@FlowBuilderParameter FlowBuilder flowBuilder) {
String flowId = "my-flow";
flowBuilder.id("", flowId);
flowBuilder.initializer("#{myFlowBean.startFlow()}");
...
}
Резервное боб
@Named
@FlowScoped("my-flow")
public class MyFlowBean implements Serializable {
public void startFlow() {
String parameter = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("parameter");
//now do sthg with the parameter, such as fetching the questionnaire
....
}
}
this answer Смотреть больше Детальная информация
FYI, на самом деле есть лишь несколько статей о том, как дело с Faces Flow, поэтому я создал тот, который, надеюсь, охватывает основные вопросы: http://blog.oio.de/2014/02/12/a-comprehensive-example-of-jsf-faces-flow/ – tasel