1

我正在使用:

Linux
PrimeFaces 3.4.1
Glassfish 3.1.2.2 (build 5)
FireFox 10.0.7

我有一个消息驱动的 bean,当它被触发时,我想通过 PrimePush 发送数据,这些数据将使用咆哮出现在浏览器中。这就是 MDB 的 onMessage() 中的内容。这部分似乎工作正常,因为浏览器正在接收一些东西。

pushContext = PushContextFactory.getDefault().getPushContext();
pushContext.push("/notifications",
    new FacesMessage("Test Summary", "Test Detail"));

当这个 MDB 触发时,我从 firefox 错误控制台中得到以下信息。

Error: not well-formed
Source File: http://localhost:8080/test/primepush/notifications?X-Atmospheretracking-id=0&X-Atmosphere-Framework=1.0&X-Atmosphere-Transport=long-polling&X-Cache-Date=0&_=1351363941008
Line: 1, Column: 1
Source Code:
{"data":{"summary":"Test Summary","detail":"Test Detail","severity":"INFO 0","rendered":false}}

Error: growl is not defined
Source File: http://localhost:8080/test/test.xhtml
Line: 25

这是 text.xhtml 中的代码。

<h:form id="test_form">

    <p:growl id="growl" for="items" showDetail="true"/>

    <p:socket onMessage="handleMessage" channel="/notifications"/>

    <script type="text/javascript">
        function handleMessage(data) {
            data.severity = 'info';
            growl.show([data]);
        }
    </script>

</h:form>
4

1 回答 1

1

尝试

<p:growl widgetVar="growl" showDetail="true" /> 

在表格之外

看看: http: //www.primefaces.org/showcase/push/facesmessage.jsf

于 2012-10-29T18:04:03.457 回答