Есть ли способ использовать PrimeFaces RequestContext
для вызова диалога, определенного в JSF, из управляемого компонента, который имеет форму, но синхронно, что означает, что управляемый компонент ожидает выполнения потока до тех пор, пока пользователь представляет форму?Синхронный вызов диалога из управляемого компонента
В настоящее время я успешно вызываю диалог из моего управляемого компонента, но вызов асинхронен, что означает, что диалог открывается, но поток управляемого компонента продолжается, не дожидаясь, пока пользователь предоставит необходимые дополнительные данные через диалог.
Итак, в моем JSF, у меня есть диалоговое окно определяется следующим образом:
<p:dialog header="My Dialog" widgetVar="myDialog" modal="false" height="100">
<h:form>
<h:outputLabel for="inputData" value="Input Data:"/>
<p:inputText id="inputData" title="Input Data"
maxlength="16" required="true" ... >
</p:inputText>
<h:commandButton value="Submit"/>
</h:form>
</p:dialog>
В моем управляемом компоненте, я вызываю диалог условно, если некоторые критерии соблюдены:
...
if(noteReqd) {
RequestContext requestContext = RequestContext.getCurrentInstance();
requestContext.execute("PF('myDialog').show();");
//here I want the managed bean to stop until the user supplies the extra data needed
//but it just proceeds downstream without the data the user enters
}
...
СВЯЗАННЫЕ :
Prompting overlay for extra data by managed bean
Calling a JavaScript function from managed bean