You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of the work for #599: compcomp via namespace+compname") includes this change:
The commit log message that made this change includes this text:
M jsf-api/doc/web-facelettaglibrary_2_2.xsd
Make it so a must have exactly one of ,
, or
Here is the rationale behind the above change: if you are going to specify a handler-class, it does not matter what the component-type is because the handler-class effectively can do whatever it wants to create the component. The component-type is only necessary if you want JSF to create the component for you.
Affected Versions
[2.2]
The text was updated successfully, but these errors were encountered:
Yes, I understand that you can do that, but here's why I feel this should be reverted:
Requiring the component's handler-class to create the component-type couples them tightly together, removing the ability to re-use a handler-class for other components. I feel this fights against the original design, which encouraged the re-use of the 3 component parts: handler-class, component-type, and renderer-type.
The most typical use case of specifying a handler-class for a custom component is to add MetaRuleset rules by overriding createMetaRuleset(). In this case, delegating the creation of the component to JSF is the desired functionality. Requiring every custom handler-class to also create the component requires developers to add unnecessary code.
The current implementation in com.sun.faces.config.processor.FaceletTaglibConfigProcessor.java simply doesn't match the xsd. Currently, any of the following combinations can be defined in the taglib for a component:
Part of the work for #599: compcomp via namespace+compname") includes this change:
Here is the rationale behind the above change: if you are going to specify a handler-class, it does not matter what the component-type is because the handler-class effectively can do whatever it wants to create the component. The component-type is only necessary if you want JSF to create the component for you.
Affected Versions
[2.2]
The text was updated successfully, but these errors were encountered: