Template em JSF

O JSF apresenta nativo o recurso de templates, apenas criando um arquivo para template os outros xhtml apenas precisam definir o que querem utilizar dos templates.

template.xhtml

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">

    <h:head>
        <title><h:outputText value="Template JSF" /></title>
        <meta content='text/html; charset=UTF-8' http-equiv="Content-Type" />
    </h:head>

    <h:body>
        <ui:insert name="conteudo" />
    </h:body>

</html>

ui:insert : Define que naquela área do template será incluído algum conteúdo.

home.xhtml

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:p="http://primefaces.org/ui"
                template="/pages/inc/template.xhtml">

    <ui:define name="conteudo">
        <p:panel header="Home">
            <h1>Welcome</h1>
        </p:panel>
    </ui:define>

</ui:composition>
  • ui:composition : Define que o xhtml é uma composição do template definido no atributo template ex : template=”/pages/inc/template.xhtml”;
  • ui:define : Define o conteúdo que será inserido no local reservado do template
Observação
O Nome definido no ui:insert deve ser o mesmo que no ui:define.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.