Composants composites dans JSF 2.0

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.

jsf2-composite-component-folder

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)