Jede in JSF verfügbare Komponente wird zur Anzeige im Browser in HTML-Code übersetzt und übertragen. Für jeden Tag ist in
der JSF-Bibliothek eine Klasse definiert, deren Objekte für die Transformation in HTML-Code verantwortlich sind. Ddie folgende Abbildung
zeig am Beispiel, wie einzelne JSF-Komponenten im ausgelieferten Seiten-Quelltext erscheinen.
Die Menge an generiertem HTML-Quelltext für die Darstellung einer Komponente ist nicht begrenzt. Komplexe Komponenten generieren entsprechend viel HTML-Quelltext.
Der JSF-Mechanismus, der die Komponenten in HTML-Quelltext übersetzt, ist nicht nur exklusiv den JSF-Komponenten vorbehalten. Entwickler
können weitere Komponenten definieren und implementieren, um damit weitere Komponenten für die Oberflächengestaltung von
Web-Anwendungen anzubieten. Eine Sammlung solcher Komponenten wird Komponentenbibliothek genannt. Eine Komponentenbibliothek wird wie
eine normale Java-Bibliothek als jar-Datei zur Verfügung gestellt und in ein eigenes Projekt eingebunden. Sie enthält
Komponentenklassen, die für die Generierung des benötigten HTML-Quelltextes zur Laufzeit verwendet werden.
Bevor die neuen Komponenten auf den Views verwendet werden können, muss man diese dort importieren. Man gibt zu diesem Zweck den
speziell für die jeweilige Komponentenbibliothek definierten XML-Namensraum im umgebenden <html>-Element an. Die
folgende Abbildung zeigt, wie man den PrimeFaces-Namensraum "http://primefaces.org/ui" unter dem Namen p importiert.
XML-Namensräume ermöglichen auf diese Weise, dass die Eindeutigkeit von Komponenten auch bei der Verwendung von weiteren externen
Komponenten gewahrt bleibt. Jede Komponente muss mit dem bei der Importierung vergebenen Namen referenziert werden, sodass eine eindeutige
Zuordnung getroffen werden kann. So können auf einer View zum Beispiel dataTable-Komponenten aus unterschiedlichen
Komponentenbibliotheken verwendet werden, um unterschiedliche Effekte zu erreichen. Über das Namenspräfix wird festgelegt, in
welcher Bibliothek die jeweilige dataTable definiert wurde.