如何在事件上调用jquery函数?

时间:2011-06-28 14:31:47

标签: java jquery jquery-ui jsf

每当发生一个事件(比如在服务器上发生一些超时)时,我想显示一个弹出窗口。对于弹出窗口,我在JSF页面(JSF 2.0)中使用jQuery。如何从JSF ManagedBean的服务方法调用jQuery函数?

实际上它就像是反向AJAX而不是客户端定期调用服务器。我希望服务器在发生某些事件时通知客户端。并非所有用户都会一直收到通知。我想减少网络电话。服务器从他身边告诉客户“X先生,这是给你的通知”。

2 个答案:

答案 0 :(得分:2)

这是典型的server push问题。基本上你有几个选择 - 轮询,挂起请求,闪存欺骗 - 没有一个特别好。

答案 1 :(得分:1)

不要试图将Java和jQuery结合在一起,而是简单地定义你的jQuery调用,使除非它在特定时间范围内得到响应,它将显示“服务器正在缓慢”的消息,或其他一些适当的警报。

换句话说(例子):

  1. 你做了一个ajax电话,当你在等待时,你正在显示“正在加载......”或某些消息
  2. 默认情况下,如果ajax调用未在定义的超时(例如5秒)内收到响应,则会自动显示“抱歉,我们还在等待......” ,或任何适合您的应用的内容
  3. 如果ajax呼叫确实及时得到回复,用户将永远不会看到“抱歉,我们还在等待......”消息,因为该页面将会更新结果