Recherche…


Remarques

JSF fournit des balises spéciales pour créer une disposition commune pour une application Web appelée balises facelets . Ces balises permettent de gérer les parties communes de plusieurs pages à un seul endroit.

Espaces de nommage:

xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"

Comment créer un modèle

Configuration d'un modèle pour une application

Créez un fichier nommé template.xhtml sous le dossier /WEB-INF , afin que les fichiers de modèle ne soient accessibles que pour le framework.

/WEB-INF/template.xhtml

<!DOCTYPE html>
<html lang="en"
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets">

    <h:head>
        <title><ui:define name="title">Default title</ui:define></title>
    </h:head>

    <h:body>
        <!-- Some styles that we might include for our whole application -->
        <h:outputStylesheet name="css/template.css" />

        <!-- Shared content for the application, e.g. a header, this can be an include -->
        <div>
            Application Header
        </div>

        <!-- The content we want to define in our template client -->
        <div>
            <ui:insert name="content" />
        </div>
    </h:body>
</html>

Ce fichier servira de modèle pour l'application. Nous allons maintenant définir une vue spécifique dans notre répertoire de vues.

/home.xhtml

<ui:composition template="/WEB-INF/template.xhtml"
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets">

    <ui:define name="title">Home</ui:define>

    <ui:define name="content">
        Welcome to the application!
    </ui:define>
</ui:composition>

Jetez un oeil à l'attribut template dans cette vue client, cela dit à JSF d'utiliser le template que nous voulons. Ensuite, en utilisant <ui:define> nous définissons le contenu spécifique à insérer là où il est indiqué dans le modèle. Accéder à /home.xhtml dans le client rendra le résultat entier.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow