@ Override public void paint ( final RenderContext renderContext ) { WebXmlRenderContext webRenderContext = ( WebXmlRenderContext ) renderContext ; XmlStringBuilder xml = webRenderContext . getWriter ( ) ; AjaxOperation operation = AjaxHelper . getCurrentOperation ( ) ; if ( operation == null ) { // the request attribute that we place in the ui contenxt in the action phase can't be null throw new SystemException ( "Can't paint AJAX response. Couldn't find the expected reference to the AjaxOperation." ) ; } UIContext uic = UIContextHolder . getCurrent ( ) ; String focusId = uic . getFocussedId ( ) ; xml . append ( XMLUtil . getXMLDeclarationWithThemeXslt ( uic ) ) ; xml . appendTagOpen ( "ui:ajaxresponse" ) ; xml . append ( XMLUtil . STANDARD_NAMESPACES ) ; xml . appendOptionalAttribute ( "defaultFocusId" , uic . isFocusRequired ( ) && ! Util . empty ( focusId ) , focusId ) ; xml . appendClose ( ) ; getBackingComponent ( ) . paint ( renderContext ) ; xml . appendEndTag ( "ui:ajaxresponse" ) ; }
Paints the targeted ajax regions . The format of the response is an agreement between the server and the client side handling our AJAX response .