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

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.1.0
    • Fix Version/s: 2.0.10, 2.1.4
    • Component/s: JSR-314
    • Labels:
      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().

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

        Issue Links

          Activity

            People

            • Assignee:
              Leonardo Uribe
              Reporter:
              Jakob Korherr
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development