jsf
JSF-sjablonen
Zoeken…
Opmerkingen
JSF biedt speciale tags om een gemeenschappelijke lay-out te maken voor een webtoepassing die facelets- tags wordt genoemd. Deze tags bieden flexibiliteit om gemeenschappelijke delen van meerdere pagina's op één plek te beheren.
naamruimten:
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
Een sjabloon maken
Een sjabloon instellen voor één toepassing
Maak een bestand met de naam template.xhtml in de map /WEB-INF , op die manier zijn de sjabloonbestanden alleen toegankelijk voor het 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>
Dit bestand fungeert als sjabloon voor de toepassing. Nu zullen we een specifieke weergave definiëren in onze weergavemap.
/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>
Bekijk het template in deze clientweergave, dit vertelt JSF om de gewenste sjabloon te gebruiken. Vervolgens <ui:define> we met behulp van <ui:define> specifieke inhoud die moet worden ingevoegd waar het in de sjabloon wordt verteld. Als u /home.xhtml in de client, wordt het hele resultaat weergegeven.