基本面轮询动态间隔

时间:2019-02-16 10:21:18

标签: jsf primefaces jsf-2.2

我写了这样的示例代码:

<AndroidStudioInstallDir>/plugins/android/lib/templates

和这个xhtml:

javax.sound.midi

我想动态更新质数轮询组件的间隔时间,但我的示例代码没有更改。睡眠总是每1秒执行一次。
我的代码有什么问题?

1 个答案:

答案 0 :(得分:3)

您需要告诉p:poll组件以重新获取其支持bean的值。您可以通过在组件上调用新的渲染阶段(通过PrimeFaces update或通过f:ajax render来轻松完成此操作。

因此,要使其正常工作,您只需要执行以下操作即可

<h:form>
    <p:selectOneButton value="#{sampleBean.interval}">
        <f:selectItem itemLabel="1" itemValue="1"/>
        <f:selectItem itemLabel="2" itemValue="2"/>
        <f:selectItem itemLabel="3" itemValue="3"/>
        <f:ajax render="@form"/>
    </p:selectOneButton>
    <p:poll interval="#{sampleBean.interval}" listener="#{sampleBean.execute}" id="poll"/>
</h:form>    

请注意上面的f:ajax调用。

您需要定位到封闭的(父)组件以使其刷新-这就是为什么我们直接定位表单而不是轮询组件的原因。