1

我设法用 Primefaces 创建了捆绑包。我想创建 Java 缓冲区并以 FIFO 顺序存储消息。将消息插入缓冲区时,我想将其显示到 JSF 页面中。我怎么能用 Primefaces 做到这一点?

我发现了 Primefaces 的例子:

<h:form id="dccd">

    <p:growl id="growl" showDetail="true" sticky="true" />

    <p:panel header="Growl">
        <h:panelGrid columns="2">
            <h:outputText value="Your Name: *" /> 
            <p:inputText value="#{bean.text}" required="true" label="Name"/>
        </h:panelGrid>

        <p:commandButton value="Save" actionListener="#{bean.save}" update="growl"/>
    </p:panel>

</h:form>

但这仅在我调用动作侦听器时才有效。

4

1 回答 1

3

您的示例仅在按下按钮时才有效的原因是您正在更新咆哮元素。

您可以做两件事来确保不断收到新消息。

使用推送时,服务器会在必要时将更新推送到客户端。PrimeFaces 有一些例子可以帮助你实现推送。我不知道这是否适用于所有浏览器。

轮询

使用轮询客户端定期检查更新(会产生大量网络流量)。PrimeFaces 有一个 poll 元素可以让事情变得更简单,看看这个例子。AFAIK 它使用 JavaScript,因此它应该适用于大多数现代浏览器。

于 2012-09-12T17:27:49.797 回答