我是最新的primefaces。我想要做的是填充h:outputText,但我必須使用p:poll,因爲我提出了一個請求,我必須等待響應,並且可能需要一些時間才能得到答案。一個p:投票停止另一個?
<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>
相關的豆:
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()
得到執行時,停止第一輪和第二輪輪詢。我只需要停止一個。
我該如何停止其中一項調查?
您使用的是哪個版本的PF? – 2014-09-25 13:15:04
你必須注意,你有一個按鈕是ajax =「false」,會影響你的民意調查....我測試了你的代碼,它對我來說工作得很好。 – 2014-09-25 13:27:06
你可以「停止」(使渲染屬性爲false)停止行爲。 – Cold 2014-09-25 13:37:05