Interfaz de usuario dinámica: incluir dentro de la interfaz de usuario: repetir. ¿Hay una solución simple?

Quiero elegir dinámicamente una faceta para representar algún elemento en mi lista de datos. El primer intento sería:

<ui:repeat value="#{panels}" var="panel">
  <ui:include src="#{panel.facelet}">
</ui:repeat>

Pero no funcionará ya que src de ui: include se evalúa demasiado pronto. La información de facelet es verdaderamente dinámica, por lo que no puedo usar c: forEach (tampoco se recomienda mezclar con facelets). Supongo que todo se reduce a encontrar una interfaz de usuario basada en componentes: incluir alternativa.

¿Existe tal cosa o necesito escribir la mía?

Respuestas a la pregunta(3)

Su respuesta a la pregunta