Verbundkomponenten in JSF 2.0
Seit JSF 2.0 ist es sehr einfach, eine wiederverwendbare Komponente zu erstellen, die alscomposite components bezeichnet wird. In diesem Tutorial zeigen wir Ihnen, wie Sie einfache zusammengesetzte Komponenten (gespeichert als „register.xhtml“) erstellen. Dies ist ein Benutzerregistrierungsformular, das Namens- und E-Mail-Textfelder (h:inputText) und eine Senden-Schaltfläche enthält (h:commandButton). Außerdem zeigen wir Ihnen, wie man es benutzt.
Erstellen Sie zusammengesetzte Komponenten
So erstellen Sie zusammengesetzte Komponenten:
1. Zusammengesetzter Namespace
Erstellen Sie eine.xhtml-Datei und deklarieren Sie den zusammengesetzten Namespace.
2. Schnittstelle & Implementierung
Verwendet zusammengesetzte Tagscomposite:interface,composite:attribute undcomposite:implementation, um den Inhalt der zusammengesetzten Komponente zu definieren. Zum Beispiel,
#{cc.attrs.anything}
Dascomposite:interface-Tag wird verwendet, um die konfigurierbaren Werte zu deklarieren, die dem Entwickler, der es verwendet, zur Verfügung gestellt werden. Und dascomposite:implementation-Tag deklariert alle XHTML-Markups, die den Inhalt der zusammengesetzten Komponente darstellen. Innerhalb descomposite:implementation-Tags können Sie mit dem Ausdruck#{cc.attrs.attributeName} auf dascomposite:interface-Attribut zugreifen.
3. Ressourcenordner
Fügen Sie zusammengesetzte Komponenten (".xhtml" -Datei) in den JSF-Ressourcenordner ein (siehe Abbildung 1):
Abbildung 1: Verzeichnisstruktur dieses Beispiels

In diesem Fall legen Sie die zusammengesetzten Komponenten "register.xhtml" in einem Ordner mit dem Namen "Beispiel" ab.
4. Komplettes Beispiel
Fertig, sehen wir uns ein vollständiges Beispiel für "register.xhtml" an.
Datei: register.xhtml
#{cc.attrs.nameLable} :
#{cc.attrs.emailLable} :
Verwenden Sie Composite-Komponenten
Sie haben gerade eine zusammengesetzte Komponente "register.xhtml" erstellt, und jetzt zeigen wir Ihnen, wie Sie sie verwenden.
1. Zugriffspfad für zusammengesetzte Komponenten
Siehe Abbildung 1 oben; Die Datei "register.xhtml" befindet sich unter dem Ordner "example". So greifen Sie darauf zu:
http://java.sun.com/jsf/composite/folder-name-in-resources-folder
Der Ordnername der zusammengesetzten Komponenten wird als Komponentenzugriffspfad definiert. Wenn Sie beispielsweise Ihre Datei "register.xhtml" unter dem Ordner "abc" ablegen, sollten Sie wie folgt darauf zugreifen Dies :
2. Komplettes Beispiel
In einem vollständigen Beispiel wird die Verwendung der zusammengesetzten Komponenten "register.xhtml" gezeigt.
Datei: default.xhtml
Composite Components in JSF 2.0
Sie können entweder einen fest codierten Wert oder eine Backing-Methode oder -Eigenschaft über exponierte Attribute an die Composite-Komponente übergeben. Wenn das Formular gesendet wird, übernimmt JSF die gesamte Backing-Bean-Bindung automatisch.
P.S Here’s the “user” managed or backing bean, for those who are interested.
package com.example;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean(name="user")
@SessionScoped
public class UserBean{
public String name;
public String email;
//getter and setter methods for name and email
public String registerAction(){
return "result";
}
}
Quellcode herunterladen
Laden Sie es herunter -JSF-2-Composite-Components-Example.zip (11 KB)
