当对象更改其状态时触发Ajax事件
我有一个小的大学项目,我必须展示某些算法是如何工作的。决定将JSF用于一个简单的webapp,并将所有算法生成的数据保存到数据库中 我对自己说,‘嘿,如果我能一步一步地向用户展示算法是如何工作的,那就太酷了,没有什么花哨的,只是当算法运行时会改变的纯格式文本。使用Ajax的输出文本字段应该可以完成工作,但我不能完全理解某个问题。Ajax在某个事件发生时触发,如“单击”或“键控”,但有没有办法在ManagedBean类中的对象发生更改时触发它 我不知道我是否解释得足够好,下面是我想做的一个例子:当对象更改其状态时触发Ajax事件,ajax,jsf,Ajax,Jsf,我有一个小的大学项目,我必须展示某些算法是如何工作的。决定将JSF用于一个简单的webapp,并将所有算法生成的数据保存到数据库中 我对自己说,‘嘿,如果我能一步一步地向用户展示算法是如何工作的,那就太酷了,没有什么花哨的,只是当算法运行时会改变的纯格式文本。使用Ajax的输出文本字段应该可以完成工作,但我不能完全理解某个问题。Ajax在某个事件发生时触发,如“单击”或“键控”,但有没有办法在ManagedBean类中的对象发生更改时触发它 我不知道我是否解释得足够好,下面是我想做的一个例子:
如果问题不太清楚,我很抱歉,请尽我所能描述它。您描述的不再是经典的、客户端触发的AJAX,而是(SSE)。它们通常使用长轮询(只有在发生服务器端事件时才会得到响应的定期客户端请求)来实现 您最喜欢的JSF工具包可能以“Push”的名义支持它。这是一个例子 然而,对于您的简单用例,我建议改用轮询。看见主要区别在于服务器端逻辑切换以保留“待显示”字符串/ID/对象的列表。当浏览器客户端轮询服务器(调用侦听器方法)时,将第一项分配给支持bean中的
String
字段,并让客户端重新呈现显示该String
的区域
请注意,您可以在普通JSF-2中实现这一点,不需要Primefaces