An Ajax request varies from other typical JavaServer Faces requests, and
its processing is also handled differently by the JavaServer Faces
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
processPartial method of
PartialViewContext uses this information to perform partial component
tree processing and rendering.
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.