我有一个 Liferay portlet,我通过 AJAX 执行一些操作。当我在 serverResource 中处理这些操作时,我想强制所有客户端呈现。我已经尝试了一些东西,但它们似乎只适用于每个客户。我所说的客户端是指在我的站点中执行操作的用户(即单击按钮以更改搜索容器中实体的状态)。
我尝试通过在更新实体时触发事件来使用客户端 IPC。当我的 AJAX 调用成功时,我触发了该事件,但该事件没有被我的其他客户端(我打开同一页面的第二个浏览器)捕获,因此除非我刷新我不刷新的页面,否则它不会刷新想要做。
我查看了配置发送方/接收方 portlet(我的一个 portlet 是发送方和接收方),但这看起来需要我提交会导致我的页面刷新的操作,所以不能使用它。我确实从 processAction 调用了 include 认为它会触发所有客户端的渲染,但只在发出 ajax 请求的客户端上工作。
在这一点上,我不知道如何强制所有客户端刷新,除非我设置像 ajax 轮询例程,这可能是我唯一的前进道路,但任何建议都值得赞赏。