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

DebugPhaseListener tries to get value from unrendered component where value is unavailable

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.2-SNAPSHOT
    • 2.0.1
    • Extension Feature
    • None
    • myfaces core trunk

    Description

      When in Develepment stage DebugPhaseListener collects useful information about component tree. But there is a problem with construction like this (example is from a real application based on ADF API) :

      <h:dataTable value="#

      {queryModel.currentDescriptor.conjunctionCriterion.criterionList}

      " var="node">
      <h:column>
      <h:selectOneMenu rendered="#

      {node.attributeCriterion and node.removable}

      " value="#

      {node.operator}

      ">
      <f:selectItems value="#

      {node.operators}

      " />
      </h:selectOneMenu>
      </h:column>
      </h:dataTable>

      please note that selectOneMenu is rendered only if node is AttributeCriterion because only AttributeCriterion class has property "operator". But DebugPhaseListener tries to get value for every row in DataTable even it is not rendered - it leads in this case to exception:

      javax.el.PropertyNotFoundException: The class 'com.company....ConjunctionCriterion' does not have the property 'operator'

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: