JSF2.0 AJAX addOnEvent

JSF2 的AJAX 机制,是通过它的js类库来实现的。这个类库在它的文档中有所体现。基本包含如下几个方法:

  • jsf.ajax.addOnError(callback)

  • jsf.ajax.addOnEvent(callback)

  • jsf.ajax.request(source, event, options)

  • jsf.ajax.response(request, context)

在这些方法中response一般我们不去调用它。其他的都可以自己调用。这些方法中我们要注意addOnEvent这个方法。它可以拦截全部的ajax请求,可以让我们在不改动jsf原有标签的情况下做一些我们自己的事情。比如说jquery的rendering。

addOnEvent方法的参数是一个方法,这个方法有一个对象参数(data,也可以写成其他的名字)。它有如下的属性:


  • data.type :可能是event或者error
  • data.status :有三个状态,分别是:begin,complete,success.对应jsf ajax请求的三个过程。要注意complete和success的区别。complete是请求完成,但是并没有替换页面的dom元素。success表示成功完成请求,并替换成功。
  • data.source :发起ajax请求的dom对象。
  • data.responseCode :响应的代码,200,404,500的
  • data.responseXML :返回的xml对象。这是一个标准的w3c的xml对象。

  • data.responseText :返回的文本

要注意的是,addOnEvent不能在事件中调用,否则会注册太多的事件监听器。如果你一定要在一个事件过程中调用,请做好单例的控制,保证这个方法只执行一次。


你可能感兴趣的:(JSF2.0 AJAX addOnEvent)