如何通过p:blockUI / pe:blockUI来阻止整个JSF页面被阻止?

时间:2013-11-25 17:03:35

标签: jsf primefaces jsf-2.2 blockui primefaces-extensions

该示例演示<h:form>阻止<h:form id="form" prependId="true"> <pe:blockUI target="form" widgetVar="blockBodyUIWidget"> <h:panelGrid columns="2"> <h:graphicImage library="default" name="images/ajax-loader1.gif" class="block-ui-image"/> <h:outputText value="#{messages['blockui.panel.message']}" class="block-ui-text"/> </h:panelGrid> </pe:blockUI> <p:commandButton id="btnSubmit" onstart="PF('blockBodyUIWidget').block()" oncomplete="PF('blockBodyUIWidget').unblock();}" update=":form:dataGrid" actionListener="#{bean.listener}" icon="ui-icon-check" value="Save"> </h:form>

<h:form>

这会阻止<h:body id="body"> <pe:blockUI target="body"...,但会有一个带有标题和左侧栏的模板,这样做不会被阻止。

我曾尝试在模板页面上阻止<pe:blockUI>,但这不能以指示“在视图中找不到具有id正文的组件。”的异常结束。 / p>

那么,如何定位整个页面?

虽然我正在使用<pe:blockUI><p:blockUI>,但PrimeFaces的{{1}}可以证明同样的事情

1 个答案:

答案 0 :(得分:15)

为您的身体提供一个ID,然后在block组件的<p:blockUI>参数上引用它。

示例:

<h:body id="entirePage"/>

<p:blockUI id="blockUI" widgetVar="blockBodyUIWidget" block=":entirePage"/>