I have created a lot of Facelets Composition Components following the "Facelets fits jsf like a glove" example. Now I have a lot of standard components like my:checkBox, my:listBox, my:float, etc. They provide nice enhanced, consistent, cross-application functionality for most types of input control and encasulate standard prompt display, error handling, layout etc.
The composition controls are a real help. However I had to do a lot of copy/paste between the different components and as the number of my custom components increased I wanted to start inheriting base functionality but couldn't find how.
I thought of using ui:include or ui:insert to include common sections of code but got a bit lost in the variable scoping.
Also I thought that maybe I need to convert this extensive list of composition components into real java JSF components. That would mean a lot more work but would allow simple inheritance/re-use.
Any suggestions?