标准的JSF实现没有为此提供现成的组件。但是,JSF
2.0规范在第13.3.5.2章中概述了以下内容:
13.3.5.2监视所有Ajax请求的事件
Javascript
API提供了jsf.ajax.addOnEvent可用于注册Javascript功能的功能,当发生任何Ajax请求/响应事件时,该功能将得到通知。有关更多详细信息,请参见第14.4节“注册回调函数”。该jsf.ajax.addOnEvent函数接受一个Javascript函数参数,当在任何Ajax请求/响应事件周期中发生事件时,该参数将被通知。该实现必须确保必须根据表14-3“事件”中概述的事件来调用已注册的Javascript函数。
您可以在此处找到有关Mojarra开发人员之一的博客,其中包含基本示例。这是相关的摘录:
<h3> Status:</h3><textarea id="statusArea" cols="40" rows="10" readonly="readonly" />一个简单的文本区域,甚至没有与后端服务器数据模型挂钩。
然后在我们的javascript中(对于演示,在一个单独加载的文件中,尽管它可以很容易地出现在页面中),我们有:
var statusUpdate = function statusUpdate(data) { var statusArea = document.getElementById("statusArea"); var text = statusArea.value; text = text + "Name: "+data.source.id; if (data.type === "event") { text = text +" Event: "+data.name+"n"; } else { // otherwise, it's an error text = text + " Error: "+data.name+"n"; } statusArea.value = text;};// Setup the statusUpdate function to hear all events on the pagejsf.ajax.addonEvent(statusUpdate);jsf.ajax.addonError(statusUpdate);



