Java Primefaces只会阻塞组件一次

Java Primefaces只会阻塞组件一次,java,jsf,primefaces,Java,Jsf,Primefaces,我需要在数据表通过ajax更新时阻止它。我使用了blockUI组件及其show()和hide()方法。但它只能工作一次!问题出在哪里?谢谢你的帮助。 下面是代码的一部分: <p:dialog resizable="false" showHeader="false" modal="false" widgetVar="statusDialog" draggable="false" closable="false"> ... </p:dialog> &l

我需要在数据表通过ajax更新时阻止它。我使用了blockUI组件及其show()和hide()方法。但它只能工作一次!问题出在哪里?谢谢你的帮助。 下面是代码的一部分:

<p:dialog resizable="false" showHeader="false" modal="false"
          widgetVar="statusDialog" draggable="false" closable="false">
  ...
</p:dialog>
<p:panel>
 <p:selectOneMenu id="source" value="#{mainBean.selectedSource}">
   ....
   <p:ajax onstart="statusDialog.show(); feedBlock.show()" 
           oncomplete="statusDialog.hide(); feedBlock.hide()" 
           update="feed" listener="#{mainBean.filter(selectedSource, false)}"/>
 </p:selectOneMenu>
</p:panel>
...
<p:dataTable id="feed" scrollable="true" scrollHeight="460" 
             value="#{mainBean.feed}" var="curr">
  ...
</p:dataTable>
<p:blockUI block="feed" widgetVar="feedBlock"/>

...
....
...
...
试试看


p:ajax

您可能需要将
trigger=“source”
更改为
trigger=“myform:source”


p:ajax


您可能需要将
trigger=“source”
更改为
trigger=“myform:source”
等等。

谢谢。我通过覆盖覆盖的css类解决了这个问题。所以,在p:dialog中,我将属性“model”更改为true,然后查看具有所需位置、高度和宽度的自定义覆盖。我想只有当我们只有一个区域需要封锁时,这才有效,但这对我来说已经足够了。谢谢。我通过覆盖覆盖的css类解决了这个问题。所以,在p:dialog中,我将属性“model”更改为true,然后查看具有所需位置、高度和宽度的自定义覆盖。我认为只有当我们只有一个区域需要封锁时,这才有效,但这对我来说已经足够了。
<p:blockUI block="feed" trigger="source"/>