Request Processing Lifecycle
The request lifecycle is decomposed in two groups: an execute group handles the incoming request and a render group handles the production of the response. The execution group is decomposed in several phases with some of them being executed. After each phase, some decision is made to proceed, to render the response or finish the request when it is completed. The request lifecycle handles both initial requests (an HTTP GET) and postbacks (an HTTP POST).
The Restore View
phase is always executed to handle the request and it is
responsible for building the components in the view. The XHTML file associated
with the view is read or obtained from the facelet cache and the components
described by the XHTML tags are created to form the component tree.
The Apply Request Values
phase is then handled to obtain the request parameters.
The Process Validators
phase executes the input validators on the component
tree to validate the request parameters. If a parameter is invalid, some message
can be posted and associated with the component that triggered it.
The Update Model Values
phase invokes the Set_Value
procedure on every
Ada bean for which an input parameter was submitted and was valid. The Ada bean
may raise and exception and an error will be associated with the associated component.
The Invoke Application
phase executes the Ada bean actions that have been triggered
by the f:viewAction
for an initial requests or by the postback actions.
The Ada bean method is invoked so that it gets the control of the request and
it returns an outcome that serves for the request navigation.
The Render Response
phase is the final phase that walks the component tree
and renders the HTML response.