2

嗨,我真的是 Jsf 和 Primefaces 世界的新手,我有一个关于 primefaces 投票组件的简单查询,如下所示。

我有一个登录页面,一旦用户通过身份验证,我将他重定向到welcome.xhtml页面,我必须每2分钟轮询一次数据库服务,为此我使用了primefaces轮询组件, <p:poll interval="120" listener="#{databaseService.getJob}"/>它工作正常,每2分钟轮询一次,但我想要什么是一旦用户通过身份验证并登陆欢迎页面,轮询服务应该立即启动,而不是等待 2 分钟的时间间隔。为了实现这一点,我尝试使用autoStart="true"

<p:poll interval="120" listener="#{databaseService.getJob}" autoStart="true" />

但它没有用。

所以让我知道我如何实现这一目标。

感谢您的帮助。

4

1 回答 1

3

如果您希望立即调用您的方法,请使用带有 autoRun="true" 的 RemoteCommand,不要使用您的投票组件的 autoStart 功能,并且当触发 RemoteCommand 的 oncomplete 时,像这样手动启动您的投票(未经测试):

<p:poll id="databaseServicePoll" interval="120" listener="#{databaseService.getJob}" autoStart="false" />

<p:remoteCommand name="firstDatabaseServiceCall" actionListener="#{databaseService.getJob}"
autoRun="true" oncomplete="databaseServicePoll.start()" />
于 2013-05-10T18:38:37.133 回答