有没有办法使用PrimeFaces方式RequestContext
调用从托管bean,它有一个形式在JSF中定义的对话框,但是同步,这意味着直到用户提交表单管理bean等待的线程执行?
目前,我成功地调用一个对话框,我管理的bean,但呼叫异步的,也就是说对话框弹出开放,但管理bean线程继续上,而无需等待用户通过对话来提供所需的额外数据。
所以,在我的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>
在我管理的bean,我呼吁有条件的,如果某些条件得到满足的对话框:
...
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
}
...
有关:
提示覆盖由托管bean的额外数据
从调用托管bean的JavaScript函数