Jsf 2.0 (facelets) dúvida

Olá pessoal,
Estou com dúvida em como o facelets trabalha em relação ao menu e onde os componentes devem estar e como são invocados.
O problema é em fazer o menu funcionar substituindo a área do conteúdo da página.
Quero usar url amigável, já que é um recurso novo.

segue abaixo os códigos.

topo.xhtml

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets">
    <body>
        <h:form>
            <ul id="menu">
            <li><h:link outcome="/pag1.xhtml" value="Submit">Pg1</h:link></li>
            <li><h:link outcome="/pag2.xhtml" value="Submit">Pg2</h:link></li>
        </h:form>
    </body>
</html>

rodape.xhtml

<html>
    <body>
       rodapé da página
    </body>
</html>

pag1.xhtml

<html>
    <body>
       <h1>pagina 1</h1>
    </body>
</html>

pag2.xhtml

<html>
    <body>
       <h1>pagina 2</h1>
    </body>
</html>

index.xhtml

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets">
      <body>
            <div id="topoDIV">
                <ui:include src="topo.xhtml"/>
            </div>
            <div id="conteudoDIV">
                <ui:include src="pag1.xhtml"/>
            </div>
            <div id="rodapeDIV">
                <ui:include src="rodape.xhtml"/>
            </div>
    </body>
</html>

alguém ja construiu algo parecido com um iframe usando facelets ?
acho que estou com um problema de conceito no uso de facelets, alguem pode me ajudar ?

por favor, preciso de ajuda… :frowning:

Quando tava partindo pra criar IFrame e batucar um pouco javascript , resolvi tentar dinovo e agora foi.
Segue os códigos abaixo:

Template.xhtml

<?xml version='1.0' encoding='UTF-8' ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html">
    
    <h:head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <link href="./../resources/css/default.css" rel="stylesheet" type="text/css" />
        <link href="./../resources/css/cssLayout.css" rel="stylesheet" type="text/css" />
        <title>Facelets Template</title>
    </h:head>
    
    <h:body>
        <h:form>
        <div id="top" class="top">
            <ui:insert name="top">Top
                <ui:include src="Top.xhtml"/>
            </ui:insert>
        </div>
        
        <div id="content" class="center_content">
            <ui:insert name="content">Content</ui:insert>
        </div>
        </h:form>
    </h:body>
    
</html>

Top.xhtml

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                template="./Template.xhtml">

    <ui:define name="top">
        <h:commandButton value="home" action="TemplateClient?faces-redirect=true" />
        <h:commandButton value="home2" action="Teste?faces-redirect=true" />
        <h:commandButton value="home3" action="Ok?faces-redirect=true" />
    </ui:define>

</ui:composition>

TemplateClient.xhtml

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                template="./Template.xhtml">
    
    <ui:define name="content">
        template client...
    </ui:define>

</ui:composition>

Teste.xhtml

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                template="./Template.xhtml">
       
    <ui:define name="content">
        teste ...
    </ui:define>

</ui:composition>

Ok.xhtml

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                template="./Template.xhtml">
    
     <ui:define name="content">
        ok ....
    </ui:define>

</ui:composition>

kdoigor,

Mas neste caso sou obrigado a utilizar Facelets, certo?
Não poderia usar só o JSF 2.0?

o facelets ja vem no jsf 2.

Não preciso incluir nenhum jar adicional além do jsf-api.jar e do jsf-impl.jar?
É que o meu NetBeans não está aceitando usar ui:insert, por exemplo.