【问题标题】:Primefaces BlockUI is not workingPrimefaces BlockUI 不工作
【发布时间】:2014-09-10 07:24:26
【问题描述】:

当用户单击菜单时,我正在更新我的数据表。所以我想在 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 并没有阻止我的数据表。我的触发器属性有问题吗。

【问题讨论】:

    标签: jsf jsf-2 primefaces


    【解决方案1】:

    在 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>
    

    它对我有用。

    【讨论】:

      猜你喜欢
      • 2014-04-30
      • 1970-01-01
      • 1970-01-01
      • 2012-09-05
      • 2023-04-01
      • 2016-10-26
      • 1970-01-01
      • 2011-06-08
      相关资源
      最近更新 更多