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



示例演示了<pe:blockUI><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"...,但没有成功,最后出现异常,指示"在视图中找不到id为body的组件。"

那么,如何针对整个页面呢?

虽然我使用的是PrimeFaces扩展的<pe:blockUI>,但PrimeFaces

<p:blockUI>也可以证明这一点

给身体一个id,然后在<p:blockUI>组件的block参数上引用它。

示例:

<h:body id="entirePage"/>

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

相关内容

  • 没有找到相关文章

最新更新