我使用omnifaces及其socket
来实现从服务器到客户端的基于单面网络套接字的连接。
我关注他们的展示柜
socket
http://showcase.omnifaces.org/push/socket
http://omnifaces.org/docs/javadoc/3.4/org/omnifaces/cdi/push/Socket.html#ui
一旦在前端收到消息,我就可以进行UI更新。但就我而言, <h:form>
<o:socket channel="someChannel" scope="view">
<f:ajax event="someEvent" listener="#{bean.pushed}" render=":foo"
</o:socket>
</h:form>
比字符串复杂。这是一个对象
someEvent
而且{
"event": "refresh",
"render": "id1 id2"
}
和event
属性都不是事先知道的。
是否有可能基于事件的消息数据触发ajax渲染?
(此处为伪代码)
render
没有,没有其他选择可以做这样的事情。解决方案是从Bean中的服务器端进行更新。如何阅读:
<f:ajax event="<this-event>.event" render="<this-event>.render" />