1

如何使用 JSF 每 5 秒自动刷新一次 div。我有一个 id = statusBlock 的 div,我希望其中的状态和评论每 5 秒自动更新一次,以便用户自动获取所有状态更新而无需刷新整个页面。我已经搜索了 stackoverflow 站点,但找不到任何可以让我使用 JSF 进行操作的内容。

4

2 回答 2

5

这可以使用setInterval JavaScript 函数来实现,该函数会每隔一段时间调用一次服务器。

一个简单但不那么花哨的例子是执行隐藏UICommand,以便用户不能自己更新数据:

<script type="text/javascript">
    setInterval(function() { 
        document.getElementById('myForm:btnLoadData').submit();
        }, 5*1000);
</script>

<h:panelGroup id="divData" layout="block">
    <!-- content... -->
</h:panelGroup>
<h:form id="myForm">
    <h:commandButton id="btnLoadData" value="Hidden" action="#{bean.loadData}"
        style="display:none">
        <f:ajax execute="@form" render=":divData" />
    </h:commandButton>
</h:form>
于 2013-03-21T14:43:41.987 回答
2

您是否使用任何组件库,例如 Primefaces?

如果你是,你可以使用轮询组件。

这是一个示例链接:http: //www.primefaces.org/showcase/ui/poll.jsf

于 2013-03-21T14:23:07.947 回答