p:民意调查已停止,但仍然会触发网络电话

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了p:民意调查已停止,但仍然会触发网络电话相关的知识,希望对你有一定的参考价值。

我必须停止并使用某些条件在JSF中启动p:poll ...我能够通过将poll放在panelgrid中并使panelGrid呈现来实现...我认为它的工作因为pollOperationStatus在我制作之后没有被调用panelGrid呈现为false ...当我显示它时,它也会重新启动..但是仍有一个网络调用正在触发;它弄乱了许多东西;如何处理它?

 <h:form>
    My main form
    </h:form>

        <h:form id="mypollform">

            <p:outputLabel id="currentTime" value="#{myBean.counter}" />
            <h:outputText value="#{myBean.startPoll}" id="counter11" />

            <p:panelGrid rendered="#{myBean.startPoll}">
                <p:poll interval="8" widgetVar="poller" autoStart="true"
                    listener="#{myBean.pollOperationStatus}"
                    update=":#{p:component('newServerID')},:#{p:component('mypollform')}" />
            </p:panelGrid>
        </h:form>
答案

Primefaces 7 Documentation says

可以使用客户端api启动和停止轮询;或者将布尔变量绑定到stop属性,并在任意时间将其设置为false。

在你的情况下,这将在javascript

PF('poller').stop();PF('poller').start();

或者将boolean bean属性绑定到stopp:poll属性:

<p:poll stop="#{myBean.stopPoller}" interval="8" widgetVar="poller" autoStart="true"
                    listener="#{myBean.pollOperationStatus}"
                    update=":#{p:component('newServerID')} :#{p:component('mypollform')}" />

还要注意update中的组件ID属性are separated by space, not comma.

以上是关于p:民意调查已停止,但仍然会触发网络电话的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Mio 的民意调查会针对用户生成的事件触发两次?

Django民意调查app没有选择和点击选票投票

primefaces民意调查未更新

R语言对苏格兰独立民意调查的Meta分析

为什么我们需要在民意调查中调用poll_wait?

django 民意调查应用程序中的 TemplateDoesNotExist 错误