Description
Current specification for lifecycles methods:
1) processDecodes
2) processValidators
3) processUpdates
4) encodeAll
4) encodeBegin
explicitly says that:
1) If the rendered property of this UIComponent is false, skip further processing.
2) call pushComponentToEL
But in that order of invocations it is impossible to achieve rendered like this:
<h:outputText rendered="#
{component.id eq 'outputTextId'}" id="outputTextId" />
i.e. any rendered ValueEpression based on component itself. In Myfaces we should implement in in reverse order, because specified behaviour is buggy.
Please see this mail thread: http://www.mail-archive.com/dev@myfaces.apache.org/msg53300.html
and
http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-1002
for details.