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

Fix order of isRendered and pushComponentToEL invocations

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 2.0.8, 2.1.2
    • None
    • None
    • 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

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

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: