MyFaces Core
  1. MyFaces Core
  2. MYFACES-3157

Fix order of isRendered and pushComponentToEL invocations

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major 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.

      1. myfaces-api-MYFACES-3157-v2.patch
        33 kB
        Martin Kočí
      2. myfaces-api-MYFACES-3157-v1.patch
        29 kB
        Martin Kočí

        Activity

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development