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

                 Key: MYFACES-2552
                 URL: https://issues.apache.org/jira/browse/MYFACES-2552
             Project: MyFaces Core
          Issue Type: Bug
          Components: JSR-314
    Affects Versions: 2.0.0-beta-2
            Reporter: Jakob Korherr
            Assignee: Jakob Korherr


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().

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to