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

TagValueExpression.getType() returns null if the property in the managed bean is null and the expression points to a facelets composite component attribute

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.1.0
    • 2.0.10, 2.1.4
    • JSR-314
    • None

    Description

      if you have a facelets composite component with an attribute "test" that points to a property in a managed bean (e.g. #

      {myBean.property}

      ) which is currently null and you refer to that attribute in the implementation via #

      {cc.attrs.test} you can get the current value (null) or set a new value but you cannot get the type of the property (e.g. String[]). However if the property in the managed bean is non-null you can get the type.

      For example:

      <cc:interface name="mycomponent">
      <cc:attribute name="test" required="true"/>
      </cc:interface>
      <cc:implementation>
      <h:selectManyListbox value="#{cc.attrs.test}

      ">
      <f:selectItems value="#

      {some select items}

      "/>
      </h:selectManyListbox>
      </cc:implementation>

      --> calling #

      {cc.attrs.test}.getType() will fail if #{cc.attrs.test}

      resolves to null, but will work if #

      {cc.attrs.test}

      resolves to some valid value.

      This currently results in a NullPointerException in _SharedRendererUtils.getConvertedUISelectManyValue().

      Attachments

        1. spec745mf.patch.txt
          4 kB
          Matthew Jason Benson
        2. MYFACES-2552-spec-proposal.patch
          2 kB
          Jakob Korherr
        3. MYFACES-2552-4.patch
          8 kB
          Leonardo Uribe

        Issue Links

          Activity

            People

              lu4242 Leonardo Uribe
              jakobkorherr Jakob Korherr
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: