<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Facelets</id>
	<title>Facelets - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Facelets"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Facelets&amp;action=history"/>
	<updated>2026-05-22T21:05:23Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Facelets&amp;diff=1244623&amp;oldid=prev</id>
		<title>imported&gt;Luckywiki1234: /* growthexperiments-addlink-summary-summary:1|1|0 */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Facelets&amp;diff=1244623&amp;oldid=prev"/>
		<updated>2025-04-05T06:54:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;growthexperiments-addlink-summary-summary:1|1|0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox Software&lt;br /&gt;
|Name = Facelets&lt;br /&gt;
|Hersteller = [[java.net]]&lt;br /&gt;
|AktuelleVersion = 1.1.15&lt;br /&gt;
|AktuelleVersionFreigabeDatum = 24. November 2009&lt;br /&gt;
|Betriebssystem = [[plattformübergreifend]]&lt;br /&gt;
|Kategorie = [[Webframework]], [[Java (Programmiersprache)|Java]]&lt;br /&gt;
|Lizenz = [[Apache-Lizenz]]&lt;br /&gt;
|Website = [https://facelets.java.net/ facelets.java.net]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Facelets&amp;#039;&amp;#039;&amp;#039; ist ein [[Freie Software|freies]] [[Template-System]] und die Standardtechnik [[JavaServer Faces]] (JSF). Es ersetzt [[JavaServer Pages]] für die Definition der Views. Facelets setzt als Eingabe gültige [[Extensible Markup Language|XML]]-Dokumente voraus. Deshalb werden die Seiten im [[Extensible Hypertext Markup Language|XHTML]]-Format erstellt.&lt;br /&gt;
&lt;br /&gt;
Ein wichtiges Merkmal von Facelets ist das sogenannte &amp;#039;&amp;#039;component-aliasing&amp;#039;&amp;#039;. Damit ist es möglich, statt der [[Tag (Informatik)|Tags]] für die UI-Komponenten normale [[Hypertext Markup Language|HTML]]-Tags, wie zum Beispiel &amp;#039;&amp;#039;&amp;amp;lt;input&amp;gt;&amp;#039;&amp;#039; zu nutzen. Die Verbindung zu der UI-Komponente wird über das alias-Attribut &amp;#039;&amp;#039;jsfc&amp;#039;&amp;#039; im Tag hergestellt. Die entsprechende Komponente wird beim Kompilieren der Seite durch Facelets eingefügt. Der Vorteil des &amp;#039;&amp;#039;component-aliasing&amp;#039;&amp;#039; ist, dass [[Webdesigner]] die Seite mit herkömmlichen [[HTML-Editor]]en bearbeiten können, da die normalen HTML-Tags benutzt werden. Die zusätzlichen Attribute für JSF stören dabei nicht.&lt;br /&gt;
&lt;br /&gt;
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 [[Unified Expression Language|Expression Language]] im Seitenquelltext außerhalb von Tags platziert werden können.&lt;br /&gt;
&lt;br /&gt;
Die Abhängigkeit von XHTML kann sich u.&amp;amp;nbsp;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.&lt;br /&gt;
&lt;br /&gt;
Das Facelets-Projekt ist [[freie Software]] unter der [[Apache-Lizenz]]. Projektleiter sind Jacob Hookom und Roger Kitain, die im [[Java Specification Request]] 252&amp;lt;ref&amp;gt;[https://jcp.org/en/jsr/detail?id=252 Java Specification Request 252]&amp;lt;/ref&amp;gt; an der Version 1.2 der [[JavaServer Faces|JavaServer-Faces]]-Spezifikation beteiligt waren.&lt;br /&gt;
&lt;br /&gt;
Im Rahmen der Entwicklung der JavaServer-Faces-Spezifikation Version 2.0 im Java Specification Request 314&amp;lt;ref&amp;gt;[https://jcp.org/en/jsr/detail?id=314 Java Specification Request 314]&amp;lt;/ref&amp;gt; wurde Facelets in die Standardspezifikation als bevorzugte VDL (View Declaration Language) integriert.&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
Das folgende Beispiel zeigt eine [[Extensible Hypertext Markup Language|XHTML]]-Vorlage für Facelets unter der Nutzung von &amp;#039;&amp;#039;component-aliasing&amp;#039;&amp;#039;. Das &amp;#039;&amp;#039;jsfc&amp;#039;&amp;#039; Attribut dient dabei dazu, die [[Tag (Informatik)|Tags]] beim [[Kompilieren]] der Seite durch die entsprechenden [[JavaServer Faces|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).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0&lt;br /&gt;
Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xmlns:h=&amp;quot;http://java.sun.com/jsf/html&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;form jsfc=&amp;quot;h:form&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;span jsfc=&amp;quot;h:outputText&amp;quot; value=&amp;quot;Willkommen #{loggedInUser.name}&amp;quot; disabled=&amp;quot;#{empty loggedInUser}&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;input type=&amp;quot;text&amp;quot; jsfc=&amp;quot;h:inputText&amp;quot; value=&amp;quot;#{bean.property}&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;input type=&amp;quot;submit&amp;quot; jsfc=&amp;quot;h:commandButton&amp;quot; value=&amp;quot;OK&amp;quot; action=&amp;quot;#{bean.doSomething}&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/form&amp;gt;&lt;br /&gt;
 &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&amp;amp;nbsp;B. h:outputText nicht darstellen können:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0&lt;br /&gt;
Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xmlns:h=&amp;quot;http://java.sun.com/jsf/html&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h:form&amp;gt;&lt;br /&gt;
   &amp;lt;h:outputText value=&amp;quot;Willkommen #{loggedInUser.name}&amp;quot; disabled=&amp;quot;#{empty loggedInUser}&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;h:inputText value=&amp;quot;#{bean.property}&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;h:commandButton value=&amp;quot;OK&amp;quot; action=&amp;quot;#{bean.doSomething}&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/h:form&amp;gt;&lt;br /&gt;
 &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://docs.oracle.com/javaee/6/tutorial/doc/giepx.html &amp;#039;&amp;#039;Einführung zu Facelets&amp;#039;&amp;#039;] bei [[Oracle]] (englisch)&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Freies Webframework]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Luckywiki1234</name></author>
	</entry>
</feed>