Is it possible to dispense with having to type "#compositeComponent.attrs." in the implementation sections of composite components? It's cumbersome. Besides, Facelets custom tags let you access attribute values with their simple names, for example you could use a Facelets tag like this:

<mytags:planet name="mercury" image="#{resource['images:Mercury.gif']}"/>

and in the implementation of the planet tag, you can do this:

<h:graphicImage style="border: none"
  value="#{image}"/>

With a JSF composite component, you have to do ...value="#{compositeComponent.attrs.image}". Maybe I'm missing something, but it doesn't seem to be too much of a technical feat to remove the need to type compositeComponent.attrs (a variable resolver that searches compositeComponents.attrs, as necessary?)

It seems weird that we're taking a step backwards in this respect, even as we move forward from Facelets tags to more feature-rich composite components.


david