a4j:outputPanel is rendered as a <span> html element if the 'layout' attribute is equal 'inline' (default value) or as a <div> html element if layout="block". You can use this component for a layout purpose even if the page has no Ajax functionality.
If Ajax functionality presents on the page, the component offers two additional features:
* Marking the area of the page as automatically re-rendered on each Ajax request event without any necessity to mentioned this area in the reRender attribute of Ajax component. Attribute ajaxRendered="true" turn on this feature. Note, that the effect of using ajaxRendered="true" still might be overridden with the limitToList attribute of the Ajax component or renderRegionOnly attribute of the a4j:region component.
* Marking the placeholder for any JSF component in case of it is not rendered due to rendered="false". This might be important when the component becomes rendered during the next Ajax response. As soon as the placeholder is unknown, the rendered component doesn't appear on a page. To turn on the feature for marking the placeholder, you need to have the attribute layout="none".
When layout="none", the span style="display:none" is rendered and assigns the id of the child component if the component is not rendered. Otherwise, it does not become rendered at all.
If Ajax functionality presents on the page, the component offers two additional features:
* Marking the area of the page as automatically re-rendered on each Ajax request event without any necessity to mentioned this area in the reRender attribute of Ajax component. Attribute ajaxRendered="true" turn on this feature. Note, that the effect of using ajaxRendered="true" still might be overridden with the limitToList attribute of the Ajax component or renderRegionOnly attribute of the a4j:region component.
* Marking the placeholder for any JSF component in case of it is not rendered due to rendered="false". This might be important when the component becomes rendered during the next Ajax response. As soon as the placeholder is unknown, the rendered component doesn't appear on a page. To turn on the feature for marking the placeholder, you need to have the attribute layout="none".
When layout="none", the span style="display:none" is rendered and assigns the id of the child component if the component is not rendered. Otherwise, it does not become rendered at all.