jsf
Modèles JSF
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.