Olá pessoal, simple e direto. Tenho um template chamado index_template.xhtml, detro dele tenho as áreas cabeçalho, meio e rodapé, certo? Iplementei a index.xhtml nesse template, até aí tudo bem. Agora o problema é que no bloco principal(no meio) tenho um componente <p:tabView>(uma janela de várias abas) do primefaces e em cada aba gostária de chama páginas, como se fossem módulos independentes, do mesmo jeito que acontece no flex, é possível isso? Tentei aqui e nada…
Tipo:
Aqui está meu index_template
<html 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">
<f:view>
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="#{facesContext.externalContext.requestContextPath}/resources/css/cssLayout.css" rel="stylesheet" type="text/css" />
<title>Teste</title>
</h:head>
<h:body>
<div id="container">
<div id="cabecalho">
<ui:insert name="cabecalho">
<!--Cabeçalho-->
</ui:insert>
</div>
<div id="corpo">
<ui:insert name="corpo">
<!--Corpo-->
</ui:insert>
</div>
<div id="rodape">
<div id="rodape-topo"/>
<span id="texto-rodape">Todos os direitos reservados. Recomendado 1024×768 acima.</span>
<ui:insert name="rodape">
<!--Rodapé-->
</ui:insert>
</div>
</div>
</h:body>
</f:view>
</html>
E aqui a index
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
template="./../templates/index_template.xhtml"
xmlns:c="http://java.sun.com/jsp/jstl/core">
<ui:define name="cabecalho">
<!-- LOGIN E CABEÇALHO -->
<div id="barraLogin" style="overflow: hidden">
<h:form id="formLoginDentro" style="text-align: right; padding-right: 10px; font-size: 8px; vertical-align: middle;">
<p:growl id="messages"/>
<p:menuButton value="#{loginManagedBean.pessoa.nome}">
<p:menuitem value="Configurações" update="messages" actionListener="#{loginManagedBean.teste2()}" icon="ui-icon-disk"/>
<p:menuitem value="Mudar tema" update="messages" actionListener="#{loginManagedBean.teste2()}" icon="ui-icon-arrowrefresh-1-w"/>
<p:separator />
<p:menuitem value="Sair" actionListener="#{loginManagedBean.logout}" icon="ui-icon-extlink"/>
</p:menuButton>
</h:form>
</div>
</ui:define>
<ui:define name="corpo">
<!-- AQUI COMEÇAM AS DEFINIÇÕES DO MÓDULOS -->
<p:tabView style="margin-bottom: 20 px; background: white;" dynamic="true">
<p:tab title="Início">
<!-- Módulo início -->
<ui:insert name="mod_inicio">
<!-- AQUI EU INSIRO MEU MÓDULO INÍCIO -->
</ui:insert>
</p:tab title="Cadastros">
<ui:insert name="mod_cadastro">
<!-- AQUI EU INSIRO MEU MÓDULO CADASTRO -->
</ui:insert>
</p:tab>
</p:tabView>
</ui:define>
</ui:composition>
Módulo inicio.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"
template="./../pages/sistema.xhtml"
xmlns:p="http://primefaces.org/ui">
<ui:define name="mod_inicio">
<p:layout style="min-width: 400px; min-height: 400px; bottom: 0;">
ESQUERDA
<p:layoutUnit position="west" size="170" header="Lista de contatos" resizable="true" closable="false" collapsible="false">
Módulo de bate-papo.
</p:layoutUnit>
DIREITA
<p:layoutUnit position="east" size="238" header="Widgets" resizable="true" closable="false" collapsible="true" effect="drop">
<h:outputText value="Calendário rápido" />
<p:calendar mode="inline" id="ptCal"/>
<h:outputText value="etc.." />
</p:layoutUnit>
CENTRO
<p:layoutUnit position="center" header="Mensagens">
Aqui entrará o módulo de mensagens.
</p:layoutUnit>
</p:layout>
</ui:define>
</ui:composition>
No caso era pra ele mostar o conteúdo de início na aba início certo? Mas não tá funcionando…
Como poderei fazer isso? Obrigado a todos!