Facelets

Facelets
Facelets
Entwickler java.net
Aktuelle Version 1.1.15
(24. November 2009)
Betriebssystem plattformübergreifend
Kategorie Webframework, Java
Lizenz Apache-Lizenz
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.

Die Abhängigkeit von XHTML kann sich u. U. auch als Nachteil darstellen. Bei Nutzung von Facelets muss man sich bewusst sein, dass die ursprüngliche Markup-Unabhängigkeit von JSF verloren geht und alternative Renderer der JSF-Komponenten (Telnet, etc.) im Zusammenhang mit Facelets nicht mehr verwendet werden können.

Das Facelets-Projekt ist Open Source Software unter der Apache-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 wurde Facelets in die Standardspezifikation als bevorzugte VDL (View Declaration Language) integriert.

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 Unified 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>

Der obige Code kann in einem Browser angeschaut und mit einem HTML Designer manipuliert werden. Mit klassischen JSF Seiten ist das nicht möglich, der Browser würde die JSF Elemente wie z.B. h:output nicht darstellen können:

<!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>
  <h:form>
   <h:outputText value="Willkommen #{loggedInUser.name}" disabled="#{empty loggedInUser}" />
   <h:inputText value="#{bean.property}" />
   <h:commandButton value="OK" action="#{bean.doSomething}" /> 
  </h:form>
 </body>
</html>

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Facelets — Тип Веб фреймворк Написана на Java Операционная система Кросплатформенное ПО Последняя версия 1.1.15 (24 ноября 2009) Тестовая версия 1.2 dev (10 ноября 2009) …   Википедия

  • RichFaces — JBoss RichFaces Тип Ajax, Java, JSF Авто …   Википедия

  • Comparison of web application frameworks — This is a comparison of notable web application frameworks. Contents 1 General 1.1 Perl 1.2 PHP 1.3 Java 1.4 Python …   Wikipedia

  • JavaServer Faces — Тип Веб фреймворк Разработчик Sun Microsystems Написана на Java Операционная система Кроссплатформенное ПО …   Википедия

  • Сравнение каркасов веб-приложений — Это сравнительная таблица фреймворков веб приложений. Содержание 1 Фреймворки 1.1 ASP.NET 1.2 C++ 1.3 ColdFusion Markup Language (CFML) …   Википедия

  • NetBeans — IDE Screenshot  …   Wikipedia

  • JavaServer Faces — (JSF) is a Java based Web application framework intended to simplify development of user interfaces for Java EE applications. Unlike other traditional request driven MVC web frameworks, JSF uses a component based approach. The state of UI… …   Wikipedia

  • JDeveloper — Screenshot  Demonstration of JDeveloper 10g GUI Developer(s) Oracle Corpor …   Wikipedia

  • Apache MyFaces — Developer(s) Apache Software Foundation Stable release 2.0.3 / December 17, 2010; 10 months ago ( …   Wikipedia

  • JSP Weaver — Infobox Software name = JSP Weaver caption = developer = [http://www.zeroturnaround.com Zeroturnaround] latest release version = 1.0.2 latest release date = release date|2008|03|03 operating system = Cross platform genre = Development aids… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”