Hi All,

I would appreciate some general "architectural" background on how ajax
libraries for JSF are implemented.

As I currently understand it, JSF ajax libraries use one of two ways of
generating an ajax response:

(a)
On the server, find a JSF component object that is the "base component"
for the response.

Then walk the JSF tree beneath the "base component" and builds a
response that contains just the *raw values* of the jsf components, NOT
HTML. In other words, normal rendering does not occur. The raw response
can be xml, JSON, or other format.

Then on the client, javascript walks the data returned by the response
and pokes it into the existing nodes in the html document object. Or
possibly creates new html document nodes based upon the response data.

(b)
On the server, find a JSF component object that is the "base component"
for the response.

Then run a normal rendering phase, generating html - but only for the
"base component" and its children. The result is an "html fragment", ie
html but not a complete page.

On the browser, an existing html node in the document is then replaced
with the html fragment from the server.


Questions:
* Is this right?
* Are there more solutions?
* Is there a good document online somewhere that describes this?
* which approach does Trinidad, Tomahawk, RichFaces (aka a4j) use?
* Does anyone know what approach NetAdvantage uses?

Thanks,
Simon


Reply via email to