如何反复动态调用JSF bean方法?

时间:2014-04-08 23:13:11

标签: java javascript jsf web

我想做那样的事。

public class Bean
{
public void test()
{
System.out.println(System.currentTimeMillis());
}
}




<script>
window.setInterval(function()
{
//bean.test() 

}, 1000);

</script>

我已经玩过模拟按钮点击等。 但它从未像预期的那样真正起作用。 要么它根本不起作用,要么test() - 方法只在页面加载时被调用。

如果有人有一个有效的例子,我会很高兴的。)

2 个答案:

答案 0 :(得分:1)

如果您使用的是Primefaces,可以使用<p:remoteCommand>通过JavaScript调用支持bean。

<p:remoteCommand name="callback" actionListener="#{bean.test}"/>

<h:outputScript>
  window.setInterval(function() {
    callback();
  }, 1000);
</h:outputScript>

答案 1 :(得分:1)

这就是你要找的东西:

<h:form id="form">
    <h:outputText id="txt_count" value="#{counterBean.count}" />

    <p:poll interval="3"
            listener="#{counterBean.increment}" update="txt_count" />
</h:form>