Composants composites dans JSF 2.0
Depuis JSF 2.0, il est très facile de créer un composant réutilisable, appelécomposite components. Dans ce didacticiel, nous vous montrons comment créer un composant composite simple (stocké sous le nom «register.xhtml»), qui est un formulaire d'inscription utilisateur, comprend des champs de nom et de texte d'e-mail (h:inputText) et un bouton d'envoi (h:commandButton). De plus, nous vous montrons également comment l'utiliser.
Créer un composant composite
Voici les étapes pour créer un composant composite:
1. Espace de noms composite
Créez un fichier.xhtml et déclarez l'espace de noms composite.
2. Interface et implémentation
Utilise les balises compositescomposite:interface,composite:attribute etcomposite:implementation, pour définir le contenu du composant composite. Par exemple,
#{cc.attrs.anything}
La balisecomposite:interface est utilisée pour déclarer les valeurs configurables qui sont exposées au développeur qui l'utilise. Et la balisecomposite:implementation déclare toutes les balises XHTML, qui sont le contenu du composant composite, à l'intérieur de la balisecomposite:implementation, vous pouvez accéder à l'attributcomposite:interface avec l'expression#{cc.attrs.attributeName}.
3. Dossier de ressources
Placez les composants composites (fichier «.xhtml») dans le dossier de ressources de JSF, voir figure 1:
Figure 1: Structure de répertoire de cet exemple.

Dans ce cas, vous placez les composants composites «register.xhtml» dans un dossier nommé «exemple».
4. Exemple complet
Terminé, voyons un exemple complet de «register.xhtml».
Fichier: register.xhtml
#{cc.attrs.nameLable} :
#{cc.attrs.emailLable} :
Utiliser un composant composite
Vous venez de créer un composant composite «register.xhtml», et maintenant nous vous montrons comment l'utiliser.
1. Chemin d'accès aux composants composites
Reportez-vous à la figure 1 ci-dessus; le fichier «register.xhtml» se trouve sous le dossier «example». Voici comment vous y accédez:
http://java.sun.com/jsf/composite/folder-name-in-resources-folder
Le nom du dossier des composants composites est défini comme le chemin d'accès au composant, par exemple, si vous placez votre fichier «register.xhtml» sous le dossier nommé «abc», alors vous devriez y accéder comme cette :
2. Exemple complet
Voyons un exemple complet pour montrer l'utilisation des composants composites "register.xhtml".
Fichier: default.xhtml
Composite Components in JSF 2.0
Vous êtes autorisé à passer soit une valeur codée en dur, soit une méthode ou une propriété de sauvegarde dans le composant composite via des attributs exposés, lorsque le formulaire est soumis, JSF effectuera automatiquement toutes les liaisons de bean de sauvegarde.
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";
}
}
Télécharger le code source
Téléchargez-le -JSF-2-Composite-Components-Example.zip (11 Ko)
