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

Improve DebugPhaseListener for UIData and SKIP_ITERATION

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • 2.1.0
    • None
    • General
    • None

    Description

      <h:dataTable var="row" >
      <h:column>
      <h:outputText rendered="#

      {bean.isRendered(row)}

      "

      There is new VisitHint.SKIP_ITERATION in JSF 2.1. If that hint is used UIData iterate over children in "flat" manner and therefore no row is available - bean.isRendered(row) obtains null as parameter and NPE can happen. One problem in this situation is a component tree walk before RESTORE_VIEW from DebugPhaseListener:

      java.lang.NullPointerException
      foo.bazz.bean.isRendered
      ...
      at org.apache.myfaces.view.facelets.el.TagValueExpression.getValue(TagValueExpression.java:85)
      at javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:260)
      at javax.faces.component.UIComponentBase.isRendered
      ...
      at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
      at org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener._doTreeVisit(DebugPhaseListener.java:310)
      at org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener.afterPhase(DebugPhaseListener.java:286)

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: