f2pro
Agosto 9, 2011, 2:48pm
#1
Ola pessoal
Eu estava criando uma interface utilizando o componente do primefaces Layout, com alguns includes como Cabeçalho, Rodape e menu por que eles variam de acordo com as paginas.
Mas, quando faço login, algumas vezes ocorre um erro de renderização do HTML
Vejam a estrutura abaixo
template.xhtml
<!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:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>
<ui:insert name="titulo">SIGAE - Sistema de Gestão de Associação de Estudantes</ui:insert>
</title>
<link
href="painel.css"
rel="stylesheet" type="text/css" />
</h:head>
<h:body>
<f:metadata>
<f:event type="postAddToView" listener="#{secureAssociacao.estaLogado()}"/>
</f:metadata>
<p:layout fullPage="true">
<p:layoutUnit position="north" size="80" style="border: 0px; margin: 0px; padding: 0px;">
<ui:include src="topo.xhtml" />
<div id="ffda"></div>
</p:layoutUnit>
<p:layoutUnit position="center" style="padding: 6px;">
<ui:insert name="centro">
</ui:insert>
</p:layoutUnit>
<p:layoutUnit position="west" header="Menu de Ações" resizable="true" collapsible="true" minSize="230" styleClass="fdp">
<div style="background-color: #F5F5F5; height: inherit; border: 0px; margin: 0px; padding: 0px; margin-top: -2px; overflow: hidden;">
<ui:include src="menu.xhtml" />
</div>
<div id="ffdb"></div>
</p:layoutUnit>
<p:layoutUnit position="south" size="5" style="border: 0px; margin: 0px; padding: 0px;">
<ui:include src="rodape.xhtml" />
</p:layoutUnit>
<ui:insert name="dialogo"></ui:insert>
</p:layout>
</h:body>
</html>
The includes
topo.xhtml (header)
[code]
SIGAE - Sistema de Gestão de Associação de Estudantes
Associação Logada: #{secureAssociacao.adm.associacao.nomefantasia}
Usuário Logado: #{secureAssociacao.adm.associado.nome}
</h:form>
</td>
</tr>
</table>
</td>
</tr>
</table>
</h:body>
[/code]
menu.xhtml
[code]
SIGAE - Sistema de Gestão de Associação de Estudantes
<h:form>
<p:accordionPanel activeIndex="#{menuMB.menuAtivo}" autoHeight="true">
<p:tab title="Associação">
<p:menu style="width:190px; margin-left: -10px; margin-top: -10px; border: 0px;">
<p:menuitem value="Associação" url="painelAssociacao.xhtml?mA=0" icon="ui-icon ui-icon-disk"/>
<p:menuitem value="Diretoria" url="painelDiretoria.xhtml?mA=0" icon="ui-icon ui-icon-disk"/>
</p:menu>
</p:tab>
<p:tab title="Estudante">
<p:menu style="width:190px; margin-left: -10px; margin-top: -10px; border: 0px;">
<p:menuitem value="Estudante" url="painelAssociado.xhtml?mA=1" icon="ui-icon ui-icon-disk"/>
<p:menuitem value="Carteirinhas" url="relCarteirinhas.xhtml?mA=2" target="_blank" icon="ui-icon ui-icon-disk"/>
</p:menu>
</p:tab>
<p:tab title="Relatórios">
<p:menu style="width:190px; margin-left: -10px; margin-top: -10px; border: 0px;">
<p:menuitem value="Estudantes" url="relEstudantes.xhtml?mA=2" target="_blank" icon="ui-icon ui-icon-disk"/>
<p:menuitem value="Paradas" url="relParadas.xhtml?mA=2" target="_blank" icon="ui-icon ui-icon-disk"/>
</p:menu>
</p:tab>
<p:tab title="Financeiro">
<p:menu style="width:190px; margin-left: -10px; margin-top: -10px; border: 0px;">
<p:menuitem value="Visualizar Débitos" url="painelDebitos.xhtml?mA=3" icon="ui-icon ui-icon-disk"/>
</p:menu>
</p:tab>
<p:tab title="Demais Cadastros">
<p:menu style="width:190px; margin-left: -10px; margin-top: -10px; border: 0px;">
<p:menuitem value="Semestre Ativo" url="painelSemestreAtivo.xhtml?mA=4" icon="ui-icon ui-icon-disk"/>
<p:menuitem value="Paradas" url="painelParada.xhtml?mA=4" icon="ui-icon ui-icon-disk"/>
</p:menu>
</p:tab>
</p:accordionPanel>
</h:form>
</h:body>
[/code]
rodape.xhtml (footer)
[code]
SIGAE - Sistema de Gestão de Associação de Estudantes
[/code]
And the Page
painelInicial.xhtml
<!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"
xmlns:f="http://java.sun.com/jsf/core">
<h:body>
<f:metadata>
<f:event type="postAddToView" listener="#{secureAssociacao.estaLogado()}"/>
<f:viewParam name="mA" value="#{menuMB.menuAtivo}" />
</f:metadata>
<ui:composition template="template.xhtml">
<ui:define name="centro">
</ui:define>
</ui:composition>
</h:body>
</html>
Minhas duvidas são:
1 - esta correto repetir o codigo abaixo em cada pagina que eu faço um include?
<!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:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>SIGAE - Sistema de Gestão de Associação de Estudantes</title>
<link rel="stylesheet" type="text/css" href="painel.css" />
</h:head>
2 - Como posso fazer isso corretamente?