Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf Primefaces BlockUI不工作_Jsf_Jsf 2_Primefaces - Fatal编程技术网

Jsf Primefaces BlockUI不工作

Jsf Primefaces BlockUI不工作,jsf,jsf-2,primefaces,Jsf,Jsf 2,Primefaces,当用户单击菜单时,我正在更新数据表。因此,我想在ajax获取数据并更新数据表时显示一些加载图像。为此,我正在使用p:blockUI。 我的菜单是: <h:form id="leftMenu"> <p:menu id="privilegeItem"> <p:menuitem id="objectItem" actionListener="#{selectSignMethodVie

当用户单击菜单时,我正在更新数据表。因此,我想在ajax获取数据并更新数据表时显示一些加载图像。为此,我正在使用p:blockUI。 我的菜单是:

<h:form id="leftMenu">    
    <p:menu id="privilegeItem">        
        <p:menuitem id="objectItem" 
                    actionListener="#{selectSignMethodView.changeSignMethods('object')}" 
                    value="Object Signing Services" 
                    update=":signMethodForm:signMethodTable"/>
        <p:menuitem id="mobileItem" 
                    actionListener="#{selectSignMethodView.changeSignMethods('mobile')}" 
                    value="Mobile Signing Services" 
                    update=":signMethodForm:signMethodTable"/>
        <p:menuitem id="macItem" 
                    actionListener="#{selectSignMethodView.changeSignMethods('mac')}" 
                    value="Mac Signing Services" 
                    update=":signMethodForm:signMethodTable"/>     
        <p:menuitem id="solarisItem" 
                    actionListener="#{selectSignMethodView.changeSignMethods('solaris')}" 
                    value="solaris Signing Services" 
                    update=":signMethodForm:signMethodTable"/>  
    </p:menu>
</h:form>

我的数据表是这样的:

<h:form prependId="false" id="signMethodForm"> 
    <p:dataTable id="signMethodTable" 
                 value="#{selectSignMethodView.signMethodList}" 
                 var="signMethods">
        <p:column>
            <h:outputText value="${signMethods.name}"/>
        </p:column>
        <p:column>
            <h:outputText value="#{signMethods.fileTypes}" />
        </p:column>
        <p:column>
            <h:outputText value="#{signMethods.servers}"/>
        </p:column>
    </p:dataTable>
    <p:blockUI trigger=":leftMenu:privilegeItem" block="signMethodTable">
        LOADING<br />
        <p:graphicImage library="images" name="ajax-loader.gif"/>
    </p:blockUI>
</h:form>

加载

但是blockUI并没有阻止我的数据表。我的触发器属性有问题。

对于Primefaces 5.0,请尝试使用

<p:menuitem id="objectItem" 
            actionListener="#{selectSignMethodView.changeSignMethods('object')}" 
            value="Object Signing Services" 
            update=":signMethodForm:signMethodTable" 
            onclick="PF('block').show()" 
            oncomplete="PF('block').hide()"/>

,并将widgetVar添加到

<p:blockUI block="signMethodTable" widgetVar="block">
            LOADING<br />
            <p:graphicImage library="images" name="ajax-loader.gif"/>
</p:blockUI>

加载
它对我有用