Uploaded image for project: 'MyFaces Core'
  1. MyFaces Core
  2. MYFACES-3157

Fix order of isRendered and pushComponentToEL invocations

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.8, 2.1.2
    • Component/s: None
    • Labels:
      None
    • Environment:
      myfaces core trunk

      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.

        Attachments

          Activity

            People

            • Assignee:
              markoc50 Martin Kočí
              Reporter:
              markoc50 Martin Kočí
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: