137: <x:treeSelectionListener
type="#{MyTreeModel}"/>
138: <x:iconProvider type="#{MyTreeModel}"/>
These are value bindings. You need getters in your backing bean that
return the appropriate String values. Then you use something like
<x:iconProvider type="#{SomeBean.getModelType}"/>
Those were defined in the config.xml as
<managed-bean>
<managed-bean-name>MyTreeModel</managed-bean-name>
<managed-bean-class>my.jsf.MyTreeModel</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
but as soon as I changed the jsp to
137: <x:treeSelectionListener
type="my.jsf.MyTreeModel"/>
138: <x:iconProvider type="my.jsf.MyTreeModel"/>
it started to work. So can someone tell me why this is the case? Thanks.
Basically you supplied a hard-coded String value which is probably
what you wanted all along. The value binding needs to evaluate to a
String and you weren't providing a method that did that.
Sean