一个p:民意调查阻止对方?

时间:2014-09-25 10:58:25

标签: jsf primefaces

我是最新的主要人物。我试图做的是填写啊:outputText,但我必须使用p:poll,因为我发出请求而我必须等待响应,这可能需要一些时间才能得到答案。

<h:form id="form1">
   <p:poll widgetVar="headerPoll" interval="3" listener="#{bean.refreshHeader()}" update="form1"  />  
</h:form>
<h:form id="bodyForm"> 
   <p:commandButton actionListener = "#{bean.loadBody}" ajax="false" value="load body"  /> <br/><br/>
   <h:outputText id="bodyText" escape="false" value="#{bean.body}"   /> 
   <p:poll widgetVar="bodyPoll" interval="3" listener="#{bean.refreshBody()}" update="bodyText"  />
</h:form>

关联的bean:

 public void refreshHeader()
    {
        if(header != null)
        {
            RequestContext reqCtx = RequestContext.getCurrentInstance();
            reqCtx.execute("headerPoll.stop();");
        }
    }

    public void refreshBody()
    {
        if(body != null)
        {
            RequestContext reqCtx = RequestContext.getCurrentInstance();
            reqCtx.execute("bodyPoll.stop();");
        }
    }

问题出在refreshHeader()功能。当headerPoll.stop()执行时,它会停止第一次和第二次轮询。我只需要停一个。

如何才能停止其中一项民意调查?

1 个答案:

答案 0 :(得分:0)

看到你在轮询中设置了interval=3,这就是为什么这两个函数被并行调用的原因。尝试在不同的时间运行轮询。希望它能起作用:))