The Java EE 7 Tutorial
13.8 Ajax Request Lifecycle
An Ajax request varies from other typical JavaServer Faces requests, and its processing is also handled differently by the JavaServer Faces lifecycle.
As described in Partial Processing and Partial Rendering, when an Ajax request is received, the state associated with that request is captured by the javax.faces.context.PartialViewContext
. This object provides access to information such as which components are targeted for processing/rendering. The processPartial
method of PartialViewContext
uses this information to perform partial component tree processing and rendering.
The execute
attribute of the f:ajax
tag identifies which segments of the server-side component tree should be processed. Because components can be uniquely identified in the JavaServer Faces component tree, it is easy to identify and process a single component, a few components, or a whole tree. This is made possible by the visitTree
method of the UIComponent
class. The identified components then run through the JavaServer Faces request lifecycle phases.
Similar to the execute
attribute, the render
attribute identifies which segments of the JavaServer Faces component tree need to be rendered during the render response phase.
During the render response phase, the render
attribute is examined. The identified components are found and asked to render themselves and their children. The components are then packaged up and sent back to the client as a response.