Apply Request Values

The processDecodes() method is called on the UIViewRoot component, causing the same method to be called recursively on all components in the component tree with the rendered property set to true, which in turn calls the decode( ) method on the component (or its renderer). The decode() method for an input component sets the submittedValue property for the component. For input components with the immediate property set to true, the submitted value is also converted and validated in this phase by calling the validate() method, causing a ValueChangeEvent to be queued if the validated value differs from the previous value and the local value to be set to the converted, validated submitted value. If the submitted value is invalid, an error message is queued and the FacesContext renderResponse() method is called. For a command component, the decode( ) method queues an ActionEvent if the component triggered the request.

At the end of this phase, the broadcast() method of the source components for all events marked to be processed in any phase or in the Apply Request Values phase is called to notify the event handlers. The event handlers may call the FacesContext renderResponse() method, possibly after selecting a new view. If so, the processing continues in the Render Response phase. Alternatively, an event handler may render a response itself and call the FacesContext responseComplete( ) method, in which case the request processing is terminated.

Get JavaServer Faces now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.