Facelets
Facelets | |
---|---|
Basisdaten
| |
Entwickler | java.net |
Aktuelle Version | 1.1.14 (29. Januar 2008) |
Betriebssystem | plattformübergreifend |
Programmiersprache | Java |
Kategorie | Webframework, Java |
Lizenz | CDDL |
facelets.dev.java.net/ |
Facelets ist eine alternative View-Handler Technologie für das JavaServer Faces (JSF) Framework. Es ersetzt JavaServer Pages für die Definition der Views. Facelets setzt als Eingabe gültige XML-Dokumente voraus. Deshalb werden die Seiten im XHTML-Format erstellt.
Ein wichtiges Merkmal von Facelets ist das sogenannte component-aliasing. Damit ist es möglich, statt der Tags für die UI-Komponenten normale HTML-Tags, wie zum Beispiel <input> zu nutzen. Die Verbindung zu der UI-Komponente wird über das alias-Attribut jsfc im Tag hergestellt. Die entsprechende Komponente wird beim Kompilieren der Seite durch Facelets eingefügt. Der Vorteil des component-aliasing ist, dass Webdesigner die Seite mit herkömmlichen HTML-Editoren bearbeiten können, da die normalen HTML-Tags benutzt werden. Die zusätzlichen Attribute für JSF stören dabei nicht.
Facelets bietet vielfältige Möglichkeiten, Vorlagenfragmente zu einer Gesamtseite zusammenzusetzen - zum Beispiel, um auf jeder Seite eine einheitliche Kopfzeile zu realisieren. Ein weiterer Vorteil von Facelets gegenüber JavaServer Pages ist, dass Ausdrücke in der Expression Language im Seitenquelltext außerhalb von Tags platziert werden können.
Das Facelets-Projekt ist Open Source Software unter der CDDL-Lizenz. Projektleiter sind Jacob Hookom und Roger Kitain, die im Java Specification Request 252 an der Version 1.2 der JavaServer Faces-Spezifikation beteiligt waren.
Im Rahmen der Entwicklung der JavaServer Faces-Spezifikation Version 2.0 im Java Specification Request 314 wird Facelets voraussichtlich weitestgehend in die Standardspezifikation integriert werden.
Beispiel
Das folgende Beispiel zeigt eine XHTML-Vorlage für Facelets unter der Nutzung von component-aliasing. Das jsfc Attribut dient dabei dazu, die Tags beim Kompilieren der Seite durch die entsprechenden JavaServer Faces-Komponenten zu ersetzen. Es wird ein Formular mit einem Texteingabefeld und einem Button zum Absenden des Formulars erzeugt. Zudem werden eingeloggte Benutzer begrüßt (zur Demonstration der Expression Language).
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html">
<body>
<form jsfc="h:form">
<span jsfc="h:outputText" value="Willkommen #{loggedInUser.name}" disabled="#{empty loggedInUser}" />
<input type="text" jsfc="h:inputText" value="#{bean.property}" />
<input type="submit" jsfc="h:commandButton" value="OK" action="#{bean.doSomething}" />
</form>
</body>
</html>
Weblinks
- http://facelets.dev.java.net/ - Projektseite auf java.net
- Demonstration von Standard- und Erweiterungskomponenten